Neko  0.9.0
A portable framework for high-order spectral element flow simulations
pipecg_sx Module Reference

Defines a pipelined Conjugate Gradient methods SX-Aurora backend.

Data Types

type  sx_pipecg_t
 Pipelined preconditioned conjugate gradient method for SX-Aurora. More...
 

Functions/Subroutines

subroutine sx_pipecg_init (this, n, max_iter, M, rel_tol, abs_tol, monitor)
 Initialise a pipelined PCG solver. More...
 
subroutine sx_pipecg_free (this)
 Deallocate a pipelined PCG solver. More...
 
type(ksp_monitor_t) function sx_pipecg_solve (this, Ax, x, f, n, coef, blst, gs_h, niter)
 Pipelined PCG solve. More...
 
type(ksp_monitor_t) function, dimension(3) sx_pipecg_solve_coupled (this, Ax, x, y, z, fx, fy, fz, n, coef, blstx, blsty, blstz, gs_h, niter)
 Pipelined PCG coupled solve. More...
 

Function/Subroutine Documentation

◆ sx_pipecg_free()

subroutine pipecg_sx::sx_pipecg_free ( class(sx_pipecg_t), intent(inout)  this)
private

Definition at line 114 of file pipecg_sx.f90.

◆ sx_pipecg_init()

subroutine pipecg_sx::sx_pipecg_init ( class(sx_pipecg_t), intent(inout)  this,
integer, intent(in)  n,
integer, intent(in)  max_iter,
class(pc_t), intent(inout), optional, target  M,
real(kind=rp), intent(inout), optional  rel_tol,
real(kind=rp), intent(inout), optional  abs_tol,
logical, intent(in), optional  monitor 
)

Definition at line 69 of file pipecg_sx.f90.

◆ sx_pipecg_solve()

type(ksp_monitor_t) function pipecg_sx::sx_pipecg_solve ( class(sx_pipecg_t), intent(inout)  this,
class(ax_t), intent(inout)  Ax,
type(field_t), intent(inout)  x,
real(kind=rp), dimension(n), intent(inout)  f,
integer, intent(in)  n,
type(coef_t), intent(inout)  coef,
type(bc_list_t), intent(inout)  blst,
type(gs_t), intent(inout)  gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 153 of file pipecg_sx.f90.

Here is the call graph for this function:

◆ sx_pipecg_solve_coupled()

type(ksp_monitor_t) function, dimension(3) pipecg_sx::sx_pipecg_solve_coupled ( class(sx_pipecg_t), intent(inout)  this,
class(ax_t), intent(inout)  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(inout)  fx,
real(kind=rp), dimension(n), intent(inout)  fy,
real(kind=rp), dimension(n), intent(inout)  fz,
integer, intent(in)  n,
type(coef_t), intent(inout)  coef,
type(bc_list_t), intent(inout)  blstx,
type(bc_list_t), intent(inout)  blsty,
type(bc_list_t), intent(inout)  blstz,
type(gs_t), intent(inout)  gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 266 of file pipecg_sx.f90.