Loading [MathJax]/extensions/tex2jax.js
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
tree_amg_smoother::amg_cheby_t Type Reference

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

Collaboration diagram for tree_amg_smoother::amg_cheby_t:

Public Member Functions

procedure, pass(thisinit (this, n, lvl, max_iter)
 Initialization of chebyshev.
 
procedure, pass(thissolve (this, x, f, n, amg, niter)
 Chebyshev smoother From Saad's iterative methods textbook.
 
procedure, pass(thiscomp_eig (this, amg, n)
 Power method to approximate largest eigenvalue.
 
procedure, pass(thisdevice_solve (this, x, f, x_d, f_d, n, amg, niter)
 Chebyshev smoother From Saad's iterative methods textbook.
 
procedure, pass(thisdevice_comp_eig (this, amg, n)
 Power method to approximate largest eigenvalue.
 

Public Attributes

real(kind=rp), dimension(:), allocatable d
 
type(c_ptr) d_d = C_NULL_PTR
 
real(kind=rp), dimension(:), allocatable w
 
type(c_ptr) w_d = C_NULL_PTR
 
real(kind=rp), dimension(:), allocatable r
 
type(c_ptr) r_d = C_NULL_PTR
 
real(kind=rp) tha
 
real(kind=rp) dlt
 
integer lvl
 
integer n
 
integer power_its = 250
 
integer max_iter = 10
 
logical recompute_eigs = .true.
 

Detailed Description

Definition at line 70 of file tree_amg_smoother.f90.

Member Function/Subroutine Documentation

◆ comp_eig()

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

Definition at line 86 of file tree_amg_smoother.f90.

◆ device_comp_eig()

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

Definition at line 88 of file tree_amg_smoother.f90.

◆ device_solve()

procedure, pass(this) tree_amg_smoother::amg_cheby_t::device_solve ( class(amg_cheby_t), intent(inout this,
real(kind=rp), dimension(n), intent(inout x,
real(kind=rp), dimension(n), intent(inout f,
type(c_ptr)  x_d,
type(c_ptr)  f_d,
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 87 of file tree_amg_smoother.f90.

◆ init()

procedure, pass(this) tree_amg_smoother::amg_cheby_t::init ( class(amg_cheby_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 (chebyshev degree)

Definition at line 84 of file tree_amg_smoother.f90.

◆ solve()

procedure, pass(this) tree_amg_smoother::amg_cheby_t::solve ( class(amg_cheby_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 85 of file tree_amg_smoother.f90.

Member Data Documentation

◆ d

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

Definition at line 71 of file tree_amg_smoother.f90.

◆ d_d

type(c_ptr) tree_amg_smoother::amg_cheby_t::d_d = C_NULL_PTR

Definition at line 72 of file tree_amg_smoother.f90.

◆ dlt

real(kind=rp) tree_amg_smoother::amg_cheby_t::dlt

Definition at line 77 of file tree_amg_smoother.f90.

◆ lvl

integer tree_amg_smoother::amg_cheby_t::lvl

Definition at line 78 of file tree_amg_smoother.f90.

◆ max_iter

integer tree_amg_smoother::amg_cheby_t::max_iter = 10

Definition at line 81 of file tree_amg_smoother.f90.

◆ n

integer tree_amg_smoother::amg_cheby_t::n

Definition at line 79 of file tree_amg_smoother.f90.

◆ power_its

integer tree_amg_smoother::amg_cheby_t::power_its = 250

Definition at line 80 of file tree_amg_smoother.f90.

◆ r

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

Definition at line 75 of file tree_amg_smoother.f90.

◆ r_d

type(c_ptr) tree_amg_smoother::amg_cheby_t::r_d = C_NULL_PTR

Definition at line 76 of file tree_amg_smoother.f90.

◆ recompute_eigs

logical tree_amg_smoother::amg_cheby_t::recompute_eigs = .true.

Definition at line 82 of file tree_amg_smoother.f90.

◆ tha

real(kind=rp) tree_amg_smoother::amg_cheby_t::tha

Definition at line 77 of file tree_amg_smoother.f90.

◆ w

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

Definition at line 73 of file tree_amg_smoother.f90.

◆ w_d

type(c_ptr) tree_amg_smoother::amg_cheby_t::w_d = C_NULL_PTR

Definition at line 74 of file tree_amg_smoother.f90.


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