Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
cg Module Reference

Defines various Conjugate Gradient methods.

Data Types

type  cg_t
 Standard preconditioned conjugate gradient method. More...
 

Functions/Subroutines

subroutine cg_init (this, n, max_iter, m, rel_tol, abs_tol, monitor)
 Initialise a standard PCG solver.
 
subroutine cg_free (this)
 Deallocate a standard PCG solver.
 
type(ksp_monitor_t) function cg_solve (this, ax, x, f, n, coef, bc_projector, gs_h, niter)
 Standard PCG solve.
 
subroutine second_cg_part (rtr, r, mult, w, alpha, n)
 
type(ksp_monitor_t) function, dimension(3) cg_solve_coupled (this, ax, x, y, z, fx, fy, fz, n, coef, bc_projector, gs_h, niter)
 Standard PCG coupled solve.
 

Variables

integer, parameter cg_p_space = 7
 

Function/Subroutine Documentation

◆ cg_free()

subroutine cg::cg_free ( class(cg_t), intent(inout)  this)
private

Definition at line 112 of file cg.f90.

◆ cg_init()

subroutine cg::cg_init ( class(cg_t), intent(inout), target  this,
integer, intent(in)  n,
integer, intent(in)  max_iter,
class(pc_t), intent(in), optional, target  m,
real(kind=rp), intent(in), optional  rel_tol,
real(kind=rp), intent(in), optional  abs_tol,
logical, intent(in), optional  monitor 
)

Definition at line 71 of file cg.f90.

◆ cg_solve()

type(ksp_monitor_t) function cg::cg_solve ( class(cg_t), intent(inout)  this,
class(ax_t), intent(in)  ax,
type(field_t), intent(inout)  x,
real(kind=rp), dimension(n), intent(in)  f,
integer, intent(in)  n,
type(coef_t), intent(inout)  coef,
class(scalar_bc_projector_t), intent(inout)  bc_projector,
type(gs_t), intent(inout)  gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 142 of file cg.f90.

Here is the call graph for this function:

◆ cg_solve_coupled()

type(ksp_monitor_t) function, dimension(3) cg::cg_solve_coupled ( class(cg_t), intent(inout)  this,
class(ax_t), intent(in)  ax,
type(field_t), intent(inout)  x,
type(field_t), intent(inout)  y,
type(field_t), intent(inout)  z,
real(kind=rp), dimension(n), intent(in)  fx,
real(kind=rp), dimension(n), intent(in)  fy,
real(kind=rp), dimension(n), intent(in)  fz,
integer, intent(in)  n,
type(coef_t), intent(inout)  coef,
class(vector_bc_projector_t), intent(inout)  bc_projector,
type(gs_t), intent(inout)  gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 284 of file cg.f90.

◆ second_cg_part()

subroutine cg::second_cg_part ( real(kind=rp), intent(inout)  rtr,
real(kind=rp), dimension(n), intent(inout)  r,
real(kind=rp), dimension(n), intent(in)  mult,
real(kind=rp), dimension(n), intent(in)  w,
real(kind=rp), intent(in)  alpha,
integer, intent(in)  n 
)
private

Definition at line 263 of file cg.f90.

Here is the caller graph for this function:

Variable Documentation

◆ cg_p_space

integer, parameter cg::cg_p_space = 7
private

Definition at line 52 of file cg.f90.