Implements smoothers for use with TreeAMG matrix vector product.
|
subroutine | amg_cheby_init (this, n, lvl, max_iter) |
| Initialization of chebyshev.
|
|
subroutine | amg_cheby_power (this, amg, n) |
| Power method to approximate largest eigenvalue.
|
|
subroutine | amg_cheby_solve (this, x, f, n, amg, niter) |
| Chebyshev smoother From Saad's iterative methods textbook.
|
|
subroutine | amg_jacobi_init (this, n, lvl, max_iter) |
| Initialization of Jacobi (this is expensive...)
|
|
subroutine | amg_jacobi_diag (this, amg, n) |
| SAMPLE MATRIX DIAGONAL VALUES (DO NOT USE, EXPENSIVE)
|
|
subroutine | amg_jacobi_solve (this, x, f, n, amg, niter) |
| Jacobi smoother.
|
|
subroutine | amg_smoo_monitor (lvl, smoo) |
|
subroutine | amg_cheby_monitor (lvl, lam) |
|
◆ amg_cheby_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 86 of file tree_amg_smoother.f90.
◆ amg_cheby_monitor()
◆ amg_cheby_power()
◆ amg_cheby_solve()
subroutine tree_amg_smoother::amg_cheby_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 |
|
) |
| |
|
private |
- Parameters
-
x | The solution to be returned |
f | The right-hand side |
n | Number of dofs |
amg | The TreeAMG object |
Definition at line 181 of file tree_amg_smoother.f90.
◆ amg_jacobi_diag()
◆ amg_jacobi_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 |
Definition at line 240 of file tree_amg_smoother.f90.
◆ amg_jacobi_solve()
subroutine tree_amg_smoother::amg_jacobi_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 |
|
) |
| |
|
private |
- Parameters
-
x | The solution to be returned |
f | The right-hand side |
n | Number of dofs |
amg | The TreeAMG object |
w = A x
r = f - Ax
r = Dinv * (f - Ax)
x = x + omega * Dinv * (f - Ax)
Definition at line 277 of file tree_amg_smoother.f90.
◆ amg_smoo_monitor()