Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
Type for Chebyshev iteration using TreeAMG matvec. More...
Public Member Functions | |
procedure, pass(this) | init (this, n, lvl, max_iter) |
Initialization of chebyshev. | |
procedure, pass(this) | solve (this, x, f, n, amg, niter) |
Chebyshev smoother From Saad's iterative methods textbook. | |
procedure, pass(this) | comp_eig (this, amg, n) |
Power method to approximate largest eigenvalue. | |
Public Attributes | |
real(kind=rp), dimension(:), allocatable | d |
real(kind=rp), dimension(:), allocatable | w |
real(kind=rp), dimension(:), allocatable | r |
real(kind=rp) | tha |
real(kind=rp) | dlt |
integer | lvl |
integer | n |
integer | power_its = 250 |
integer | max_iter = 10 |
logical | recompute_eigs = .true. |
Definition at line 64 of file tree_amg_smoother.f90.
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 | ||
) |
amg | TreeAMG object |
n | Number of dofs |
Definition at line 77 of file tree_amg_smoother.f90.
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 | ||
) |
n | Number of dofs |
lvl | The tamg hierarchy level on which the iterations are to be applied |
max_iter | The number of iterations (chebyshev degree) |
Definition at line 75 of file tree_amg_smoother.f90.
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 | ||
) |
x | The solution to be returned |
f | The right-hand side |
n | Number of dofs |
amg | The TreeAMG object |
Definition at line 76 of file tree_amg_smoother.f90.
real(kind=rp), dimension(:), allocatable tree_amg_smoother::amg_cheby_t::d |
Definition at line 65 of file tree_amg_smoother.f90.
Definition at line 68 of file tree_amg_smoother.f90.
integer tree_amg_smoother::amg_cheby_t::lvl |
Definition at line 69 of file tree_amg_smoother.f90.
integer tree_amg_smoother::amg_cheby_t::max_iter = 10 |
Definition at line 72 of file tree_amg_smoother.f90.
integer tree_amg_smoother::amg_cheby_t::n |
Definition at line 70 of file tree_amg_smoother.f90.
integer tree_amg_smoother::amg_cheby_t::power_its = 250 |
Definition at line 71 of file tree_amg_smoother.f90.
real(kind=rp), dimension(:), allocatable tree_amg_smoother::amg_cheby_t::r |
Definition at line 67 of file tree_amg_smoother.f90.
logical tree_amg_smoother::amg_cheby_t::recompute_eigs = .true. |
Definition at line 73 of file tree_amg_smoother.f90.
Definition at line 68 of file tree_amg_smoother.f90.
real(kind=rp), dimension(:), allocatable tree_amg_smoother::amg_cheby_t::w |
Definition at line 66 of file tree_amg_smoother.f90.