Implements the base abstract type for Krylov solvers plus helper types.
◆ krylov_free()
subroutine krylov::krylov_free |
( |
class(ksp_t), intent(inout) |
this | ) |
|
|
private |
◆ krylov_init()
subroutine krylov::krylov_init |
( |
class(ksp_t), intent(inout), target |
this, |
|
|
integer, intent(in) |
max_iter, |
|
|
real(kind=rp), intent(in), optional |
rel_tol, |
|
|
real(kind=rp), intent(in), optional |
abs_tol, |
|
|
class(pc_t), intent(in), optional, target |
M, |
|
|
logical, intent(in), optional |
monitor |
|
) |
| |
|
private |
- Parameters
-
object | The object to be allocated. |
n | Size of the vectors the solver operates on. |
type_name | The name of the solver type. |
max_iter | The maximum number of iterations |
abstol | The absolute tolerance, optional. |
M | The preconditioner, optional. |
monitor | Enable/disable monitoring, optional. Destroy an iterative Krylov type_name Constructor for the base type. |
max_iter | Maximum number of iterations. |
rel_tol | Relative tolarance for converence. |
rel_tol | Absolute tolarance for converence. |
M | The preconditioner. |
Definition at line 215 of file krylov.f90.
◆ krylov_monitor_iter()
subroutine krylov::krylov_monitor_iter |
( |
class(ksp_t), intent(in) |
this, |
|
|
integer, intent(in) |
iter, |
|
|
real(kind=rp), intent(in) |
rnorm |
|
) |
| |
|
private |
◆ krylov_monitor_start()
subroutine krylov::krylov_monitor_start |
( |
class(ksp_t), intent(in) |
this, |
|
|
character(len=*) |
name |
|
) |
| |
|
private |
◆ krylov_monitor_stop()
subroutine krylov::krylov_monitor_stop |
( |
class(ksp_t), intent(in) |
this | ) |
|
|
private |
◆ krylov_set_pc()
subroutine krylov::krylov_set_pc |
( |
class(ksp_t), intent(inout) |
this, |
|
|
class(pc_t), intent(in), target |
M |
|
) |
| |
|
private |
◆ ksp_abs_tol
real(kind=rp), parameter, public krylov::ksp_abs_tol = 1d-9 |
◆ ksp_max_iter
integer, parameter, public krylov::ksp_max_iter = 1e3 |
◆ ksp_rel_tol
real(kind=rp), parameter, public krylov::ksp_rel_tol = 1d-9 |