Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
class for abstract iterative linear solver More...
Private Member Functions | |
procedure(sll_p_set_guess_linear_solver_iter_abstract), deferred | set_guess |
procedure(sll_p_check_convergence_linear_solver_iter_abstract), deferred | check_convergence |
procedure | compute_residual_error => compute_residual_error_linear_solver_iter_abstract |
procedure | set_linear_operator => set_linop_linear_solver_iter_abstract |
procedure | set_tolerance => set_tolerance_linear_solver_iter_abstract |
generic | solve => solve_real |
procedure | initialize_abstract => initialize_linear_solver_abstract |
procedure | set_verbose_abstract => set_verbose_linear_solver_abstract |
procedure(sll_p_read_from_file_linear_solver_abstract), deferred | read_from_file |
procedure(sll_p_set_verbose_linear_solver_abstract), deferred | set_verbose |
procedure(sll_p_solve_real_linear_solver_abstract), deferred | solve_real |
procedure(sll_p_print_info_linear_solver_abstract), deferred | print_info |
procedure(sll_p_free_linear_solver_abstract), deferred | free |
Private Attributes | |
integer(kind=i32) | n_maxiter = 2000 |
maximum number of iterations More... | |
logical | null_space = .false. |
true if singular linear operator:w More... | |
real(kind=f64) | atol = 1.0d-9 |
absolute tolerance More... | |
real(kind=f64), dimension(:), allocatable | x_0 |
for the initialization More... | |
class(sll_t_linear_operator_abstract), pointer | ptr_linear_operator => null() |
pointer to the used linear operator More... | |
class(sll_t_linear_operator_abstract), allocatable | p_linear_operator |
used for nullspace More... | |
class(sll_t_linear_solver_abstract), pointer | ptr_pc_left => null() |
pointer to a left pc More... | |
integer(kind=i32) | n_rows = 0 |
number of rows More... | |
integer(kind=i32) | n_cols = 0 |
number of columns More... | |
integer(kind=i32) | n_global_rows = 0 |
number of rows different from n_rows for distributed linear operator More... | |
integer(kind=i32) | n_global_cols = 0 |
number of columns different from n_cols for linear operator More... | |
integer(kind=i32) | n_total_rows = 0 |
n_global_rows * n_block_rows More... | |
integer(kind=i32) | n_total_cols = 0 |
n_global_cols * n_block_cols More... | |
logical | is_allocated = .false. |
logical | verbose = .false. |
details output for diagnostic if true More... | |
class for abstract iterative linear solver
Definition at line 33 of file sll_m_linear_solver_iter_abstract.F90.
|
private |
Definition at line 48 of file sll_m_linear_solver_iter_abstract.F90.
|
private |
Definition at line 50 of file sll_m_linear_solver_iter_abstract.F90.
|
privateinherited |
Definition at line 54 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
Definition at line 47 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
Definition at line 53 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
Definition at line 50 of file sll_m_linear_solver_abstract.F90.
|
private |
Definition at line 47 of file sll_m_linear_solver_iter_abstract.F90.
|
private |
Definition at line 51 of file sll_m_linear_solver_iter_abstract.F90.
|
private |
Definition at line 52 of file sll_m_linear_solver_iter_abstract.F90.
|
privateinherited |
Definition at line 51 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
Definition at line 48 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
Definition at line 45 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
Definition at line 52 of file sll_m_linear_solver_abstract.F90.
|
private |
absolute tolerance
Definition at line 38 of file sll_m_linear_solver_iter_abstract.F90.
|
privateinherited |
Definition at line 40 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
number of columns
Definition at line 32 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
number of columns different from n_cols for linear operator
Definition at line 35 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
number of rows different from n_rows for distributed linear operator
Definition at line 34 of file sll_m_linear_solver_abstract.F90.
|
private |
maximum number of iterations
Definition at line 35 of file sll_m_linear_solver_iter_abstract.F90.
|
privateinherited |
number of rows
Definition at line 31 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
n_global_cols * n_block_cols
Definition at line 38 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
n_global_rows * n_block_rows
Definition at line 37 of file sll_m_linear_solver_abstract.F90.
|
private |
true if singular linear operator:w
Definition at line 36 of file sll_m_linear_solver_iter_abstract.F90.
|
private |
used for nullspace
Definition at line 43 of file sll_m_linear_solver_iter_abstract.F90.
|
private |
pointer to the used linear operator
Definition at line 42 of file sll_m_linear_solver_iter_abstract.F90.
|
private |
pointer to a left pc
Definition at line 44 of file sll_m_linear_solver_iter_abstract.F90.
|
privateinherited |
details output for diagnostic if true
Definition at line 41 of file sll_m_linear_solver_abstract.F90.
|
private |
for the initialization
Definition at line 40 of file sll_m_linear_solver_iter_abstract.F90.