A linear solver using the dune-istl solver factory to choose the solver and preconditioner at runtime.  
 More...
#include <dumux/linear/istlsolverfactorybackend.hh>
- Note
- the solvers are configured via the input file 
|  | 
|  | IstlSolverFactoryBackend (const std::string ¶mGroup="") | 
|  | Construct the backend for the sequential case only. 
 | 
|  | 
|  | IstlSolverFactoryBackend (const typename LinearSolverTraits::GridView &gridView, const typename LinearSolverTraits::DofMapper &dofMapper, const std::string ¶mGroup="") | 
|  | Construct the backend for parallel or sequential runs. 
 | 
|  | 
| bool | solve (Matrix &A, Vector &x, Vector &b) | 
|  | Solve a linear system. 
 | 
|  | 
| const Dune::InverseOperatorResult & | result () const | 
|  | 
| const std::string & | name () const | 
|  | 
| Scalar | norm (const Vector &x) const | 
|  | 
| template<class Matrix, class Vector> | 
| bool | solve (const Matrix &A, Vector &x, const Vector &b) | 
|  | Solve the linear system Ax = b. 
 | 
|  | 
| template<class Vector> | 
| auto | norm (const Vector &x) const | 
|  | 
| const std::string & | paramGroup () const | 
|  | the parameter group for getting parameter from the parameter tree 
 | 
|  | 
| int | verbosity () const | 
|  | the verbosity level 
 | 
|  | 
| void | setVerbosity (int v) | 
|  | set the verbosity level 
 | 
|  | 
| int | maxIter () const | 
|  | the maximum number of linear solver iterations 
 | 
|  | 
| void | setMaxIter (int i) | 
|  | set the maximum number of linear solver iterations 
 | 
|  | 
| Scalar | residReduction () const | 
|  | the linear solver residual reduction 
 | 
|  | 
| void | setResidualReduction (Scalar r) | 
|  | set the linear solver residual reduction 
 | 
|  | 
| Scalar | relaxation () const | 
|  | the linear solver relaxation factor 
 | 
|  | 
| void | setRelaxation (Scalar r) | 
|  | set the linear solver relaxation factor 
 | 
|  | 
| int | precondIter () const | 
|  | the number of preconditioner iterations 
 | 
|  | 
| void | setPrecondIter (int i) | 
|  | set the number of preconditioner iterations 
 | 
|  | 
| int | precondVerbosity () const | 
|  | the preconditioner verbosity 
 | 
|  | 
| void | setPrecondVerbosity (int verbosityLevel) | 
|  | set the preconditioner verbosity 
 | 
|  | 
◆ Scalar
export Scalar type (might be needed to set parameters from output) TODO: Do we need this? 
 
 
◆ IstlSolverFactoryBackend() [1/2]
- Parameters
- 
  
    | paramGroup | the parameter group for parameter lookup |  
 
 
 
◆ IstlSolverFactoryBackend() [2/2]
- Parameters
- 
  
    | gridView | the grid view for parallel communication via the grid |  | dofMapper | an index mapper for dof entities |  | paramGroup | the parameter group for parameter lookup |  
 
 
 
◆ maxIter()
  
  | 
        
          | int Dumux::LinearSolver::maxIter | ( |  | ) | const |  | inlineinherited | 
 
 
◆ name()
◆ norm() [1/2]
◆ norm() [2/2]
template<class Vector> 
  
  | 
        
          | auto Dumux::LinearSolver::norm | ( | const Vector & | x | ) | const |  | inlineinherited | 
 
 
◆ paramGroup()
  
  | 
        
          | const std::string & Dumux::LinearSolver::paramGroup | ( |  | ) | const |  | inlineinherited | 
 
 
◆ precondIter()
  
  | 
        
          | int Dumux::LinearSolver::precondIter | ( |  | ) | const |  | inlineinherited | 
 
 
◆ precondVerbosity()
  
  | 
        
          | int Dumux::LinearSolver::precondVerbosity | ( |  | ) | const |  | inlineinherited | 
 
 
◆ relaxation()
  
  | 
        
          | Scalar Dumux::LinearSolver::relaxation | ( |  | ) | const |  | inlineinherited | 
 
 
◆ residReduction()
  
  | 
        
          | Scalar Dumux::LinearSolver::residReduction | ( |  | ) | const |  | inlineinherited | 
 
 
◆ result()
◆ setMaxIter()
  
  | 
        
          | void Dumux::LinearSolver::setMaxIter | ( | int | i | ) |  |  | inlineinherited | 
 
 
◆ setPrecondIter()
  
  | 
        
          | void Dumux::LinearSolver::setPrecondIter | ( | int | i | ) |  |  | inlineinherited | 
 
 
◆ setPrecondVerbosity()
  
  | 
        
          | void Dumux::LinearSolver::setPrecondVerbosity | ( | int | verbosityLevel | ) |  |  | inlineinherited | 
 
 
◆ setRelaxation()
  
  | 
        
          | void Dumux::LinearSolver::setRelaxation | ( | Scalar | r | ) |  |  | inlineinherited | 
 
 
◆ setResidualReduction()
  
  | 
        
          | void Dumux::LinearSolver::setResidualReduction | ( | Scalar | r | ) |  |  | inlineinherited | 
 
 
◆ setVerbosity()
  
  | 
        
          | void Dumux::LinearSolver::setVerbosity | ( | int | v | ) |  |  | inlineinherited | 
 
 
◆ solve() [1/2]
- Parameters
- 
  
    | A | the matrix |  | x | the seeked solution vector, containing the initial solution upon entry |  | b | the right hand side vector |  
 
 
 
◆ solve() [2/2]
template<class Matrix, class Vector> 
  
  | 
        
          | bool Dumux::LinearSolver::solve | ( | const Matrix & | A, |  
          |  |  | Vector & | x, |  
          |  |  | const Vector & | b ) |  | inlineinherited | 
 
- Note
- This has to be overloaded by the actual solver 
 
 
◆ verbosity()
  
  | 
        
          | int Dumux::LinearSolver::verbosity | ( |  | ) | const |  | inlineinherited | 
 
 
The documentation for this class was generated from the following file: