Preconditioned loop solver.
More...
#include <solvers.hh>
|
template<class L , class P > |
| LoopSolver (L &op, P &prec, real_type reduction, int maxit, int verbose) |
| Set up Loop solver. More...
|
|
template<class L , class S , class P > |
| LoopSolver (L &op, S &sp, P &prec, real_type reduction, int maxit, int verbose) |
| Set up loop solver. More...
|
|
virtual void | apply (X &x, X &b, Dune::InverseOperatorResult &res) |
|
virtual const
Ewoms::ConvergenceCriterion< X > & | convergenceCriterion () const |
| Return the criterion to be used to check for convergence of the linear solver. More...
|
|
virtual
Ewoms::ConvergenceCriterion< X > & | convergenceCriterion () |
| Return the criterion to be used to check for convergence of the linear solver. More...
|
|
virtual void | setConvergenceCriterion (std::shared_ptr< Ewoms::ConvergenceCriterion< X > > convCrit) |
| Set the criterion to be used to check for convergence of the linear solver. More...
|
|
template<class X>
class Ewoms::LoopSolver< X >
Preconditioned loop solver.
Implements a preconditioned loop. Using this class every Preconditioner can be turned into a solver. The solver will apply one preconditioner step in each iteration loop.
The domain type of the operator that we do the inverse for.
The field type of the operator that we do the inverse for.
The range type of the operator that we do the inverse for.
template<class X >
template<class L , class P >
Set up Loop solver.
- Parameters
-
op | The operator we solve. |
prec | The preconditioner to apply in each iteration of the loop. Has to inherit from Preconditioner. |
reduction | The relative defect reduction to achieve when applying the operator. |
maxit | The maximum number of iteration steps allowed when applying the operator. |
verbose | The verbosity level. |
Verbose levels are:
-
0 : print nothing
-
1 : print initial and final defect and statistics
-
2 : print line for each iteration
References Ewoms::InverseOperator< X, X >::setConvergenceCriterion().
template<class X >
template<class L , class S , class P >
Set up loop solver.
- Parameters
-
op | The operator we solve. |
sp | The scalar product to use, e. g. SeqScalarproduct. |
prec | The preconditioner to apply in each iteration of the loop. Has to inherit from Preconditioner. |
reduction | The relative defect reduction to achieve when applying the operator. |
maxit | The maximum number of iteration steps allowed when applying the operator. |
verbose | The verbosity level. |
Verbose levels are:
-
0 : print nothing
-
1 : print initial and final defect and statistics
-
2 : print line for each iteration
References Ewoms::InverseOperator< X, X >::setConvergenceCriterion().
template<class X >
virtual void Ewoms::LoopSolver< X >::apply |
( |
X & |
x, |
|
|
X & |
b, |
|
|
Dune::InverseOperatorResult & |
res |
|
) |
| |
|
inlinevirtual |
Return the criterion to be used to check for convergence of the linear solver.
The documentation for this class was generated from the following file:
|