Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
device_jacobi::device_jacobi_t Type Referenceabstract

Defines a jacobi preconditioner. More...

Inheritance diagram for device_jacobi::device_jacobi_t:
Collaboration diagram for device_jacobi::device_jacobi_t:

Public Member Functions

procedure, pass(this) init (this, coef, bclst, json)
 Initialize from the case file. The boundary conditions and the JSON dictionary are not needed by this preconditioner.
 
procedure, pass(this) init_from_components (this, coef, dof, gs_h)
 
procedure, pass(this) free (this)
 
procedure, pass(this) solve (this, z, r, n)
 The jacobi preconditioner \( J z = r \) \( z = J^{-1}r\) where \( J^{-1} ~= 1/diag(A) \).
 
procedure, pass(this) update (this)
 
procedure(pc_init), deferred, pass init (this, coef, bclst, json)
 
procedure(pc_solve), deferred, pass solve (this, z, r, n)
 
procedure(pc_update), deferred, pass update (this)
 
procedure(pc_free), deferred, pass free (this)
 

Public Attributes

real(kind=rp), dimension(:,:,:,:), allocatable d
 
type(c_ptr) d_d = C_NULL_PTR
 
type(gs_t), pointer gs_h
 
type(dofmap_t), pointer dof
 
type(coef_t), pointer coef
 
type(c_ptr) gs_event = C_NULL_PTR
 

Detailed Description

Definition at line 51 of file pc_jacobi_device.F90.

Member Function/Subroutine Documentation

◆ free() [1/2]

procedure, pass(this) device_jacobi::device_jacobi_t::free ( class(device_jacobi_t), intent(inout)  this)

Definition at line 62 of file pc_jacobi_device.F90.

◆ free() [2/2]

procedure(pc_free), deferred, pass precon::pc_t::free ( class(pc_t), intent(inout)  this)
pure virtualinherited

Definition at line 49 of file precon.f90.

◆ init() [1/2]

procedure, pass(this) device_jacobi::device_jacobi_t::init ( class(device_jacobi_t), intent(inout), target  this,
type(coef_t), intent(in), target  coef,
type(bc_list_t), intent(inout), target  bclst,
type(json_file), intent(inout)  json 
)

Definition at line 59 of file pc_jacobi_device.F90.

◆ init() [2/2]

procedure(pc_init), deferred, pass precon::pc_t::init ( class(pc_t), intent(inout), target  this,
type(coef_t), intent(in), target  coef,
type(bc_list_t), intent(inout), target  bclst,
type(json_file), intent(inout)  json 
)
pure virtualinherited

Definition at line 46 of file precon.f90.

◆ init_from_components()

procedure, pass(this) device_jacobi::device_jacobi_t::init_from_components ( class(device_jacobi_t), intent(inout)  this,
type(coef_t), intent(in), target  coef,
type(dofmap_t), intent(in), target  dof,
type(gs_t), intent(inout), target  gs_h 
)

Definition at line 60 of file pc_jacobi_device.F90.

◆ solve() [1/2]

procedure, pass(this) device_jacobi::device_jacobi_t::solve ( class(device_jacobi_t), intent(inout)  this,
real(kind=rp), dimension(n), intent(inout)  z,
real(kind=rp), dimension(n), intent(inout)  r,
integer, intent(in)  n 
)

Definition at line 63 of file pc_jacobi_device.F90.

◆ solve() [2/2]

procedure(pc_solve), deferred, pass precon::pc_t::solve ( class(pc_t), intent(inout)  this,
real(kind=rp), dimension(n), intent(inout)  z,
real(kind=rp), dimension(n), intent(inout)  r,
integer, intent(in)  n 
)
pure virtualinherited

Definition at line 47 of file precon.f90.

◆ update() [1/2]

procedure, pass(this) device_jacobi::device_jacobi_t::update ( class(device_jacobi_t), intent(inout)  this)

Definition at line 64 of file pc_jacobi_device.F90.

◆ update() [2/2]

procedure(pc_update), deferred, pass precon::pc_t::update ( class(pc_t), intent(inout)  this)
pure virtualinherited

Definition at line 48 of file precon.f90.

Member Data Documentation

◆ coef

type(coef_t), pointer device_jacobi::device_jacobi_t::coef

Definition at line 56 of file pc_jacobi_device.F90.

◆ d

real(kind=rp), dimension(:,:,:,:), allocatable device_jacobi::device_jacobi_t::d

Definition at line 52 of file pc_jacobi_device.F90.

◆ d_d

type(c_ptr) device_jacobi::device_jacobi_t::d_d = C_NULL_PTR

Definition at line 53 of file pc_jacobi_device.F90.

◆ dof

type(dofmap_t), pointer device_jacobi::device_jacobi_t::dof

Definition at line 55 of file pc_jacobi_device.F90.

◆ gs_event

type(c_ptr) device_jacobi::device_jacobi_t::gs_event = C_NULL_PTR

Definition at line 57 of file pc_jacobi_device.F90.

◆ gs_h

type(gs_t), pointer device_jacobi::device_jacobi_t::gs_h

Definition at line 54 of file pc_jacobi_device.F90.


The documentation for this type was generated from the following file: