Implements the base abstract type for Krylov solvers plus helper types.
|
subroutine | krylov_init (this, max_iter, rel_tol, abs_tol, m, monitor) |
| Factory for Krylov solvers. Both creates and initializes the object.
|
|
subroutine | krylov_free (this) |
| Deallocate a Krylov solver.
|
|
subroutine | krylov_set_pc (this, m) |
| Setup a Krylov solver's preconditioner.
|
|
subroutine | krylov_monitor_start (this, name) |
| Monitor start.
|
|
subroutine | krylov_monitor_stop (this) |
| Monitor stop.
|
|
subroutine | krylov_monitor_iter (this, iter, rnorm) |
| Monitor iteration.
|
|
pure logical function | krylov_is_converged (this, iter, residual) |
| Check for convergence.
|
|
◆ krylov_free()
◆ 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 219 of file krylov.f90.
◆ krylov_is_converged()
This function checks if the Krylov solver has converged. The solver is considered converged if the residual is less than the absolute tolerance.
- Parameters
-
residual | Residual |
iter | Iteration number |
Definition at line 343 of file krylov.f90.
◆ krylov_monitor_iter()
◆ krylov_monitor_start()
◆ krylov_monitor_stop()
◆ krylov_set_pc()
◆ ksp_abs_tol
◆ ksp_max_iter
◆ ksp_rel_tol