Template for a user-defined Krylov solver.
|
| subroutine | krylov_solver_template_init (this, n, max_iter, m, rel_tol, abs_tol, monitor) |
| |
| subroutine | krylov_solver_template_free (this) |
| |
| type(ksp_monitor_t) function | krylov_solver_template_solve (this, ax, x, f, n, coef, bc_projector, gs_h, niter) |
| |
| type(ksp_monitor_t) function, dimension(3) | krylov_solver_template_solve_coupled (this, ax, x, y, z, fx, fy, fz, n, coef, bc_projector, gs_h, niter) |
| |
| subroutine, public | krylov_solver_template_register_types () |
| |
| subroutine | krylov_solver_template_allocate (obj) |
| |
◆ krylov_solver_template_allocate()
◆ krylov_solver_template_free()
◆ krylov_solver_template_init()
| subroutine krylov_solver_template::krylov_solver_template_init |
( |
class(krylov_solver_template_t), intent(inout), target |
this, |
|
|
integer, intent(in) |
n, |
|
|
integer, intent(in) |
max_iter, |
|
|
class(pc_t), intent(in), optional, target |
m, |
|
|
real(kind=rp), intent(in), optional |
rel_tol, |
|
|
real(kind=rp), intent(in), optional |
abs_tol, |
|
|
logical, intent(in), optional |
monitor |
|
) |
| |
◆ krylov_solver_template_register_types()
| subroutine, public krylov_solver_template::krylov_solver_template_register_types |
◆ krylov_solver_template_solve()
| type(ksp_monitor_t) function krylov_solver_template::krylov_solver_template_solve |
( |
class(krylov_solver_template_t), intent(inout) |
this, |
|
|
class(ax_t), intent(in) |
ax, |
|
|
type(field_t), intent(inout) |
x, |
|
|
real(kind=rp), dimension(n), intent(in) |
f, |
|
|
integer, intent(in) |
n, |
|
|
type(coef_t), intent(inout) |
coef, |
|
|
class(scalar_bc_projector_t), intent(inout) |
bc_projector, |
|
|
type(gs_t), intent(inout) |
gs_h, |
|
|
integer, intent(in), optional |
niter |
|
) |
| |
|
private |
◆ krylov_solver_template_solve_coupled()
| type(ksp_monitor_t) function, dimension(3) krylov_solver_template::krylov_solver_template_solve_coupled |
( |
class(krylov_solver_template_t), intent(inout) |
this, |
|
|
class(ax_t), intent(in) |
ax, |
|
|
type(field_t), intent(inout) |
x, |
|
|
type(field_t), intent(inout) |
y, |
|
|
type(field_t), intent(inout) |
z, |
|
|
real(kind=rp), dimension(n), intent(in) |
fx, |
|
|
real(kind=rp), dimension(n), intent(in) |
fy, |
|
|
real(kind=rp), dimension(n), intent(in) |
fz, |
|
|
integer, intent(in) |
n, |
|
|
type(coef_t), intent(inout) |
coef, |
|
|
class(vector_bc_projector_t), intent(inout) |
bc_projector, |
|
|
type(gs_t), intent(inout) |
gs_h, |
|
|
integer, intent(in), optional |
niter |
|
) |
| |
|
private |