Concrete class encapsulating some dune-istl linear solvers.  
 More... 
#include <LinearSolverIstl.hpp> 
 |  
|   | LinearSolverIstl () |  
|   |  
|   | LinearSolverIstl (const ParameterGroup ¶m) |  
|   |  
| virtual  | ~LinearSolverIstl () |  
|   | Destructor.  More...
  |  
|   |  
| virtual LinearSolverReport  | solve (const int size, const int nonzeros, const int *ia, const int *ja, const double *sa, const double *rhs, double *solution, const boost::any &comm=boost::any()) const |  
|   |  
| virtual void  | setTolerance (const double tol) |  
|   |  
| virtual double  | getTolerance () const |  
|   |  
| LinearSolverReport  | solve (const CSRMatrix *A, const double *rhs, double *solution) const |  
|   |  
| virtual LinearSolverReport  | solve (const int size, const int nonzeros, const int *ia, const int *ja, const double *sa, const double *rhs, double *solution, const boost::any &add=boost::any()) const=0 |  
|   |  
 
Concrete class encapsulating some dune-istl linear solvers.  
 
◆ LinearSolverIstl() [1/2]
      
        
          | Opm::LinearSolverIstl::LinearSolverIstl  | 
          ( | 
           | ) | 
           | 
         
       
 
Default constructor. All parameters controlling the solver are defaulted: linsolver_residual_tolerance 1e-8 linsolver_verbosity 0 linsolver_type 1 ( = CG_AMG), alternatives are: CG_ILU0 = 0, CG_AMG = 1, BiCGStab_ILU0 = 2 FastAMG=3, KAMG=4 }; linsolver_save_system false linsolver_save_filename <empty string> linsolver_max_iterations 0 (unlimited=5000) linsolver_residual_tolerance 1e-8 linsolver_smooth_steps 2 linsolver_prolongate_factor 1.6 linsolver_verbosity 0  
 
 
◆ LinearSolverIstl() [2/2]
      
        
          | Opm::LinearSolverIstl::LinearSolverIstl  | 
          ( | 
          const ParameterGroup &  | 
          param | ) | 
           | 
         
       
 
Construct from parameters Accepted parameters are, with defaults, listed in the default constructor.  
 
 
◆ ~LinearSolverIstl()
  
  
      
        
          | virtual Opm::LinearSolverIstl::~LinearSolverIstl  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
virtual   | 
   
 
 
 
◆ getTolerance()
  
  
      
        
          | virtual double Opm::LinearSolverIstl::getTolerance  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
virtual   | 
   
 
 
 
◆ setTolerance()
  
  
      
        
          | virtual void Opm::LinearSolverIstl::setTolerance  | 
          ( | 
          const double  | 
          tol | ) | 
           | 
         
       
   | 
  
virtual   | 
   
 
 
 
◆ solve() [1/3]
Solve a linear system, with a matrix given in compressed sparse row format.  - Parameters
 - 
  
    | [in] | A | matrix in CSR format  |  
    | [in] | rhs | array of length A->m containing the right hand side  |  
    | [in,out] | solution | array of length A->m to which the solution will be written, may also be used as initial guess by iterative solvers. Note: this method is a convenience method that calls the virtual solve() method.  |  
   
   
 
 
 
◆ solve() [2/3]
  
  
      
        
          | virtual LinearSolverReport Opm::LinearSolverInterface::solve  | 
          ( | 
          const int  | 
          size,  | 
         
        
           | 
           | 
          const int  | 
          nonzeros,  | 
         
        
           | 
           | 
          const int *  | 
          ia,  | 
         
        
           | 
           | 
          const int *  | 
          ja,  | 
         
        
           | 
           | 
          const double *  | 
          sa,  | 
         
        
           | 
           | 
          const double *  | 
          rhs,  | 
         
        
           | 
           | 
          double *  | 
          solution,  | 
         
        
           | 
           | 
          const boost::any &  | 
          add = boost::any()  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
virtual   | 
   
 
 
Solve a linear system, with a matrix given in compressed sparse row format.  - Parameters
 - 
  
    | [in] | size | # of rows in matrix  |  
    | [in] | nonzeros | # of nonzeros elements in matrix  |  
    | [in] | ia | array of length (size + 1) containing start and end indices for each row  |  
    | [in] | ja | array of length nonzeros containing column numbers for the nonzero elements  |  
    | [in] | sa | array of length nonzeros containing the values of the nonzero elements  |  
    | [in] | rhs | array of length size containing the right hand side  |  
    | [in,out] | solution | array of length size to which the solution will be written, may also be used as initial guess by iterative solvers.  |  
   
   
 
Implements Opm::LinearSolverInterface. 
 
 
◆ solve() [3/3]
  
  
      
        
          | virtual LinearSolverReport Opm::LinearSolverIstl::solve  | 
          ( | 
          const int  | 
          size,  | 
         
        
           | 
           | 
          const int  | 
          nonzeros,  | 
         
        
           | 
           | 
          const int *  | 
          ia,  | 
         
        
           | 
           | 
          const int *  | 
          ja,  | 
         
        
           | 
           | 
          const double *  | 
          sa,  | 
         
        
           | 
           | 
          const double *  | 
          rhs,  | 
         
        
           | 
           | 
          double *  | 
          solution,  | 
         
        
           | 
           | 
          const boost::any &  | 
          comm = boost::any()  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
virtual   | 
   
 
 
Solve a linear system, with a matrix given in compressed sparse row format.  - Parameters
 - 
  
    | [in] | size | # of rows in matrix  |  
    | [in] | nonzeros | # of nonzeros elements in matrix  |  
    | [in] | ia | array of length (size + 1) containing start and end indices for each row  |  
    | [in] | ja | array of length nonzeros containing column numbers for the nonzero elements  |  
    | [in] | sa | array of length nonzeros containing the values of the nonzero elements  |  
    | [in] | rhs | array of length size containing the right hand side  |  
    | [in,out] | solution | array of length size to which the solution will be written, may also be used as initial guess by iterative solvers.  |  
   
   
 
Implements Opm::LinearSolverInterface. 
 
 
 The documentation for this class was generated from the following file: 
 
  
 
    
     |