Type for Chebyshev iteration using TreeAMG matvec.
More...
|
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.
|
|
procedure, pass(this) | device_solve (this, x, f, x_d, f_d, n, amg, niter) |
| Chebyshev smoother From Saad's iterative methods textbook.
|
|
procedure, pass(this) | device_comp_eig (this, amg, n) |
| Power method to approximate largest eigenvalue.
|
|
Definition at line 70 of file tree_amg_smoother.f90.
◆ comp_eig()
◆ device_comp_eig()
◆ 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
-
x | The solution to be returned |
f | The right-hand side |
n | Number of dofs |
amg | The TreeAMG object |
Definition at line 87 of file tree_amg_smoother.f90.
◆ init()
- Parameters
-
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 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
-
x | The solution to be returned |
f | The right-hand side |
n | Number of dofs |
amg | The TreeAMG object |
Definition at line 85 of file tree_amg_smoother.f90.
◆ d_d
type(c_ptr) tree_amg_smoother::amg_cheby_t::d_d = C_NULL_PTR |
◆ dlt
real(kind=rp) tree_amg_smoother::amg_cheby_t::dlt |
◆ lvl
integer tree_amg_smoother::amg_cheby_t::lvl |
◆ max_iter
integer tree_amg_smoother::amg_cheby_t::max_iter = 10 |
integer tree_amg_smoother::amg_cheby_t::n |
◆ power_its
integer tree_amg_smoother::amg_cheby_t::power_its = 250 |
◆ r_d
type(c_ptr) tree_amg_smoother::amg_cheby_t::r_d = C_NULL_PTR |
◆ recompute_eigs
logical tree_amg_smoother::amg_cheby_t::recompute_eigs = .true. |
◆ tha
real(kind=rp) tree_amg_smoother::amg_cheby_t::tha |
◆ w_d
type(c_ptr) tree_amg_smoother::amg_cheby_t::w_d = C_NULL_PTR |
The documentation for this type was generated from the following file: