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.  
  | 
|   | 
| subroutine  | krylov_monitor_print_header (this) | 
|   | Print the Krylov solver's result header.  
  | 
|   | 
| subroutine  | krylov_monitor_print_result (this, step) | 
|   | Print the Krylov solver's result.  
  | 
|   | 
◆ 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. 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 242 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 366 of file krylov.f90.
 
 
◆ krylov_monitor_iter()
◆ krylov_monitor_print_header()
◆ krylov_monitor_print_result()
◆ krylov_monitor_start()
◆ krylov_monitor_stop()
◆ krylov_set_pc()
◆ ksp_abs_tol
◆ ksp_max_iter
◆ ksp_rel_tol