Neko 0.9.99
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(thisinit (this, coef, dof, gs_h)
 
procedure, pass(thisfree (this)
 
procedure, pass(thissolve (this, z, r, n)
 The jacobi preconditioner \( J z = r \) \( z = J^{-1}r\) where \( J^{-1} ~= 1/diag(A) \).
 
procedure, pass(thisupdate (this)
 
procedure(pc_solve), deferred, pass solve (this, z, r, n)
 
procedure(pc_update), deferred, pass update (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
 

Detailed Description

Definition at line 46 of file pc_jacobi_device.F90.

Member Function/Subroutine Documentation

◆ free()

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

Definition at line 54 of file pc_jacobi_device.F90.

◆ init()

procedure, pass(this) device_jacobi::device_jacobi_t::init ( 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 53 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 55 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 42 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 56 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 43 of file precon.f90.

Member Data Documentation

◆ coef

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

Definition at line 51 of file pc_jacobi_device.F90.

◆ d

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

Definition at line 47 of file pc_jacobi_device.F90.

◆ d_d

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

Definition at line 48 of file pc_jacobi_device.F90.

◆ dof

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

Definition at line 50 of file pc_jacobi_device.F90.

◆ gs_h

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

Definition at line 49 of file pc_jacobi_device.F90.


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