Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
tree_amg_smoother::amg_jacobi_t Type Reference

Type for Chebyshev iteration using TreeAMG matvec. More...

Public Member Functions

procedure, pass(thisinit (this, n, lvl, max_iter)
 Initialization of Jacobi (this is expensive...)
 
procedure, pass(thissolve (this, x, f, n, amg, niter)
 Jacobi smoother.
 
procedure, pass(thiscomp_diag (this, amg, n)
 SAMPLE MATRIX DIAGONAL VALUES (DO NOT USE, EXPENSIVE)
 

Public Attributes

real(kind=rp), dimension(:), allocatable d
 
real(kind=rp), dimension(:), allocatable w
 
real(kind=rp), dimension(:), allocatable r
 
real(kind=rp) omega
 
integer lvl
 
integer n
 
integer max_iter = 10
 
logical recompute_diag = .true.
 

Detailed Description

Definition at line 48 of file tree_amg_smoother.f90.

Member Function/Subroutine Documentation

◆ comp_diag()

procedure, pass(this) tree_amg_smoother::amg_jacobi_t::comp_diag ( class(amg_jacobi_t), intent(inout this,
type(tamg_hierarchy_t), intent(inout amg,
integer, intent(in n 
)
Parameters
amgTreeAMG object
nNumber of dofs

Definition at line 60 of file tree_amg_smoother.f90.

◆ init()

procedure, pass(this) tree_amg_smoother::amg_jacobi_t::init ( class(amg_jacobi_t), intent(inout), target  this,
integer, intent(in n,
integer, intent(in lvl,
integer, intent(in max_iter 
)
Parameters
nNumber of dofs
lvlThe tamg hierarchy level on which the iterations are to be applied
max_iterThe number of iterations

Definition at line 58 of file tree_amg_smoother.f90.

◆ solve()

procedure, pass(this) tree_amg_smoother::amg_jacobi_t::solve ( class(amg_jacobi_t), intent(inout this,
real(kind=rp), dimension(n), intent(inout x,
real(kind=rp), dimension(n), intent(inout f,
integer, intent(in n,
class(tamg_hierarchy_t), intent(inout amg,
integer, intent(in), optional  niter 
)
Parameters
xThe solution to be returned
fThe right-hand side
nNumber of dofs
amgThe TreeAMG object

Definition at line 59 of file tree_amg_smoother.f90.

Member Data Documentation

◆ d

real(kind=rp), dimension(:), allocatable tree_amg_smoother::amg_jacobi_t::d

Definition at line 49 of file tree_amg_smoother.f90.

◆ lvl

integer tree_amg_smoother::amg_jacobi_t::lvl

Definition at line 53 of file tree_amg_smoother.f90.

◆ max_iter

integer tree_amg_smoother::amg_jacobi_t::max_iter = 10

Definition at line 55 of file tree_amg_smoother.f90.

◆ n

integer tree_amg_smoother::amg_jacobi_t::n

Definition at line 54 of file tree_amg_smoother.f90.

◆ omega

real(kind=rp) tree_amg_smoother::amg_jacobi_t::omega

Definition at line 52 of file tree_amg_smoother.f90.

◆ r

real(kind=rp), dimension(:), allocatable tree_amg_smoother::amg_jacobi_t::r

Definition at line 51 of file tree_amg_smoother.f90.

◆ recompute_diag

logical tree_amg_smoother::amg_jacobi_t::recompute_diag = .true.

Definition at line 56 of file tree_amg_smoother.f90.

◆ w

real(kind=rp), dimension(:), allocatable tree_amg_smoother::amg_jacobi_t::w

Definition at line 50 of file tree_amg_smoother.f90.


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