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

Defines a jacobi preconditioner. More...

Inheritance diagram for jacobi::jacobi_t:
Collaboration diagram for jacobi::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)
 Update Jacobi preconditioner if the geometry G has changed.
 
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(gs_t), pointer gs_h
 
type(dofmap_t), pointer dof
 
type(coef_t), pointer coef
 

Detailed Description

Definition at line 47 of file pc_jacobi.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

procedure, pass(this) jacobi::jacobi_t::free ( class(jacobi_t), intent(inout)  this)

Definition at line 56 of file pc_jacobi.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) jacobi::jacobi_t::init ( class(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 53 of file pc_jacobi.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) jacobi::jacobi_t::init_from_components ( class(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 54 of file pc_jacobi.f90.

◆ solve() [1/2]

procedure, pass(this) jacobi::jacobi_t::solve ( class(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 57 of file pc_jacobi.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) jacobi::jacobi_t::update ( class(jacobi_t), intent(inout)  this)

Definition at line 58 of file pc_jacobi.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 jacobi::jacobi_t::coef

Definition at line 51 of file pc_jacobi.f90.

◆ d

real(kind=rp), dimension(:, :, :, :), allocatable jacobi::jacobi_t::d

Definition at line 48 of file pc_jacobi.f90.

◆ dof

type(dofmap_t), pointer jacobi::jacobi_t::dof

Definition at line 50 of file pc_jacobi.f90.

◆ gs_h

type(gs_t), pointer jacobi::jacobi_t::gs_h

Definition at line 49 of file pc_jacobi.f90.


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