Neko  0.9.99
A portable framework for high-order spectral element flow simulations
gmres_device Module Reference

Defines various GMRES methods.

Data Types

type  gmres_device_t
 Standard preconditioned generalized minimal residual method. More...
 
interface  hip_gmres_part2
 

Functions/Subroutines

real(c_rp) function device_gmres_part2 (w_d, v_d_d, h_d, mult_d, j, n)
 
subroutine gmres_device_init (this, n, max_iter, M, m_restart, rel_tol, abs_tol, monitor)
 Initialise a standard GMRES solver. More...
 
subroutine gmres_device_free (this)
 Deallocate a standard GMRES solver. More...
 
type(ksp_monitor_t) function gmres_device_solve (this, Ax, x, f, n, coef, blst, gs_h, niter)
 Standard GMRES solve. More...
 
type(ksp_monitor_t) function, dimension(3) gmres_device_solve_coupled (this, Ax, x, y, z, fx, fy, fz, n, coef, blstx, blsty, blstz, gs_h, niter)
 Standard GMRES coupled solve. More...
 

Function/Subroutine Documentation

◆ device_gmres_part2()

real(c_rp) function gmres_device::device_gmres_part2 ( type(c_ptr), value  w_d,
type(c_ptr), value  v_d_d,
type(c_ptr), value  h_d,
type(c_ptr), value  mult_d,
integer(c_int)  j,
integer(c_int)  n 
)
private

Definition at line 110 of file gmres_device.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gmres_device_free()

subroutine gmres_device::gmres_device_free ( class(gmres_device_t), intent(inout)  this)
private

Definition at line 230 of file gmres_device.F90.

◆ gmres_device_init()

subroutine gmres_device::gmres_device_init ( class(gmres_device_t), intent(inout), target  this,
integer, intent(in)  n,
integer, intent(in)  max_iter,
class(pc_t), intent(in), optional, target  M,
integer, intent(in), optional  m_restart,
real(kind=rp), intent(in), optional  rel_tol,
real(kind=rp), intent(in), optional  abs_tol,
logical, intent(in), optional  monitor 
)
private

Definition at line 133 of file gmres_device.F90.

◆ gmres_device_solve()

type(ksp_monitor_t) function gmres_device::gmres_device_solve ( class(gmres_device_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,
type(bc_list_t), intent(in)  blst,
type(gs_t), intent(inout)  gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 317 of file gmres_device.F90.

Here is the call graph for this function:

◆ gmres_device_solve_coupled()

type(ksp_monitor_t) function, dimension(3) gmres_device::gmres_device_solve_coupled ( class(gmres_device_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,
type(bc_list_t), intent(in)  blstx,
type(bc_list_t), intent(in)  blsty,
type(bc_list_t), intent(in)  blstz,
type(gs_t), intent(inout)  gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 486 of file gmres_device.F90.