![]()  | 
  
    Semi-Lagrangian Library
    
   Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices. 
   | 
 
class for a sequential gmres linear solver More...
Private Member Functions | |
| procedure | create => create_linear_solver_mgmres | 
| procedure | initialize => initialize_linear_solver_mgmres | 
| procedure | set_guess => set_guess_linear_solver_mgmres | 
| procedure | check_convergence => check_convergence_linear_solver_mgmres | 
| procedure | read_from_file => read_from_file_linear_solver_mgmres | 
| procedure | set_verbose => set_verbose_linear_solver_mgmres | 
| procedure | solve_real => solve_real_linear_solver_mgmres | 
| procedure | print_info => print_info_linear_solver_mgmres | 
| procedure | free => free_linear_solver_mgmres | 
| 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 | 
Private Attributes | |
| integer(kind=i32) | n_mr = 2 | 
| number of restarts for gmres  More... | |
| real(kind=f64) | rtol = 1.0d-14 | 
| relative tolerance  More... | |
| 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 a sequential gmres linear solver
Definition at line 38 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  private | 
Definition at line 46 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  privateinherited | 
Definition at line 50 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  private | 
Definition at line 43 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  private | 
Definition at line 52 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  private | 
Definition at line 44 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  privateinherited | 
Definition at line 47 of file sll_m_linear_solver_abstract.F90.
      
  | 
  private | 
Definition at line 51 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  private | 
Definition at line 48 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  private | 
Definition at line 45 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  privateinherited | 
Definition at line 51 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  privateinherited | 
Definition at line 52 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  private | 
Definition at line 49 of file sll_m_linear_solver_mgmres.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.
      
  | 
  private | 
Definition at line 50 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  privateinherited | 
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.
      
  | 
  privateinherited | 
maximum number of iterations
Definition at line 35 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  private | 
number of restarts for gmres
Definition at line 39 of file sll_m_linear_solver_mgmres.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.
      
  | 
  privateinherited | 
true if singular linear operator:w
Definition at line 36 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  privateinherited | 
used for nullspace
Definition at line 43 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  privateinherited | 
pointer to the used linear operator
Definition at line 42 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  privateinherited | 
pointer to a left pc
Definition at line 44 of file sll_m_linear_solver_iter_abstract.F90.
      
  | 
  private | 
relative tolerance
Definition at line 40 of file sll_m_linear_solver_mgmres.F90.
      
  | 
  privateinherited | 
details output for diagnostic if true
Definition at line 41 of file sll_m_linear_solver_abstract.F90.
      
  | 
  privateinherited | 
for the initialization
Definition at line 40 of file sll_m_linear_solver_iter_abstract.F90.
 1.9.1