Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
jacobi Module Reference

Jacobi preconditioner.

Data Types

type  jacobi_t
 Defines a jacobi preconditioner. More...
 

Functions/Subroutines

subroutine jacobi_init (this, coef, bclst, json)
 Initialize from the case file. The boundary conditions and the JSON dictionary are not needed by this preconditioner.
 
subroutine jacobi_init_from_components (this, coef, dof, gs_h)
 
subroutine jacobi_free (this)
 
subroutine jacobi_solve (this, z, r, n)
 The jacobi preconditioner \( J z = r \) \( z = J^{-1}r\) where \( J^{-1} ~= 1/diag(A) \).
 
subroutine jacobi_update (this)
 Update Jacobi preconditioner if the geometry G has changed.
 
subroutine jacobi_update_lx (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n, lx)
 Generic CPU kernel for updating the Jacobi preconditioner.
 
subroutine jacobi_update_lx14 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx13 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx12 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx11 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx10 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx9 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx8 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx7 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx6 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx5 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx4 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx3 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 
subroutine jacobi_update_lx2 (d, dxt, dyt, dzt, g11, g22, g33, g12, g13, g23, dfrmd_el, n)
 

Function/Subroutine Documentation

◆ jacobi_free()

subroutine jacobi::jacobi_free ( class(jacobi_t), intent(inout)  this)
private

Definition at line 90 of file pc_jacobi.f90.

◆ jacobi_init()

subroutine jacobi::jacobi_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 65 of file pc_jacobi.f90.

◆ jacobi_init_from_components()

subroutine jacobi::jacobi_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 
)
private

Definition at line 75 of file pc_jacobi.f90.

Here is the call graph for this function:

◆ jacobi_solve()

subroutine jacobi::jacobi_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 
)
private

Definition at line 102 of file pc_jacobi.f90.

Here is the call graph for this function:

◆ jacobi_update()

subroutine jacobi::jacobi_update ( class(jacobi_t), intent(inout)  this)
private

Definition at line 111 of file pc_jacobi.f90.

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

◆ jacobi_update_lx()

subroutine jacobi::jacobi_update_lx ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n,
integer, intent(in)  lx 
)
private

Definition at line 184 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx10()

subroutine jacobi::jacobi_update_lx10 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 678 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx11()

subroutine jacobi::jacobi_update_lx11 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 579 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx12()

subroutine jacobi::jacobi_update_lx12 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 480 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx13()

subroutine jacobi::jacobi_update_lx13 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 381 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx14()

subroutine jacobi::jacobi_update_lx14 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 282 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx2()

subroutine jacobi::jacobi_update_lx2 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 1470 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx3()

subroutine jacobi::jacobi_update_lx3 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 1371 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx4()

subroutine jacobi::jacobi_update_lx4 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 1272 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx5()

subroutine jacobi::jacobi_update_lx5 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 1173 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx6()

subroutine jacobi::jacobi_update_lx6 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 1074 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx7()

subroutine jacobi::jacobi_update_lx7 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 975 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx8()

subroutine jacobi::jacobi_update_lx8 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 876 of file pc_jacobi.f90.

Here is the caller graph for this function:

◆ jacobi_update_lx9()

subroutine jacobi::jacobi_update_lx9 ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout)  d,
real(kind=rp), dimension(lx, lx), intent(in)  dxt,
real(kind=rp), dimension(lx, lx), intent(in)  dyt,
real(kind=rp), dimension(lx, lx), intent(in)  dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g11,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g22,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g33,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g12,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g13,
real(kind=rp), dimension(lx, lx, lx, n), intent(in)  g23,
logical, dimension(n), intent(in)  dfrmd_el,
integer, intent(in)  n 
)
private

Definition at line 777 of file pc_jacobi.f90.

Here is the caller graph for this function: