|
dune-istl 2.9.0
|
Preconditioned loop solver. More...
#include <dune/istl/solvers.hh>

Public Types | |
| typedef X | domain_type |
| Type of the domain of the operator to be inverted. | |
| typedef Y | range_type |
| Type of the range of the operator to be inverted. | |
| typedef X::field_type | field_type |
| The field type of the operator. | |
| typedef FieldTraits< field_type >::real_type | real_type |
| The real type of the field type (is the same if using real numbers, but differs for std::complex) | |
| typedef Simd::Scalar< real_type > | scalar_real_type |
| scalar type underlying the field_type | |
Public Member Functions | |
| virtual void | apply (X &x, X &b, InverseOperatorResult &res) |
| Apply inverse operator,. | |
| virtual void | apply (X &x, X &b, double reduction, InverseOperatorResult &res) |
| Apply inverse operator with given reduction factor. | |
| virtual void | apply (X &x, Y &b, InverseOperatorResult &res)=0 |
| Apply inverse operator,. | |
| virtual void | apply (X &x, Y &b, double reduction, InverseOperatorResult &res)=0 |
| apply inverse operator, with given convergence criteria. | |
| virtual SolverCategory::Category | category () const |
| Category of the solver (see SolverCategory::Category) | |
| std::string | name () const |
Protected Types | |
| using | Iteration = typename IterativeSolver< X, X >::template Iteration< unsigned int > |
| enum | { iterationSpacing = 5 , normSpacing = 16 } |
Protected Member Functions | |
| void | printHeader (std::ostream &s) const |
| helper function for printing header of solver output | |
| template<typename CountType , typename DataType > | |
| void | printOutput (std::ostream &s, const CountType &iter, const DataType &norm, const DataType &norm_old) const |
| helper function for printing solver output | |
| template<typename CountType , typename DataType > | |
| void | printOutput (std::ostream &s, const CountType &iter, const DataType &norm) const |
| helper function for printing solver output | |
Protected Attributes | |
| std::shared_ptr< const LinearOperator< X, X > > | _op |
| std::shared_ptr< Preconditioner< X, X > > | _prec |
| std::shared_ptr< const ScalarProduct< X > > | _sp |
| scalar_real_type | _reduction |
| int | _maxit |
| int | _verbose |
| SolverCategory::Category | _category |
Detailed Description
class Dune::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.
Member Typedef Documentation
◆ domain_type
|
inherited |
Type of the domain of the operator to be inverted.
◆ field_type
|
inherited |
The field type of the operator.
◆ Iteration
|
protected |
◆ range_type
|
inherited |
Type of the range of the operator to be inverted.
◆ real_type
|
inherited |
The real type of the field type (is the same if using real numbers, but differs for std::complex)
◆ scalar_real_type
|
inherited |
scalar type underlying the field_type
Member Enumeration Documentation
◆ anonymous enum
|
protectedinherited |
Member Function Documentation
◆ apply() [1/4]
|
inlinevirtualinherited |
Apply inverse operator with given reduction factor.
apply inverse operator, with given convergence criteria.
- Warning
- Right hand side b may be overwritten!
- Parameters
-
x The left hand side to store the result in. b The right hand side reduction The minimum defect reduction to achieve. res Object to store the statistics about applying the operator.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
◆ apply() [2/4]
|
inlinevirtual |
Apply inverse operator,.
- Warning
- Note: right hand side b may be overwritten!
- Parameters
-
x The left hand side to store the result in. b The right hand side res Object to store the statistics about applying the operator.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
◆ apply() [3/4]
|
pure virtualinherited |
apply inverse operator, with given convergence criteria.
- Warning
- Right hand side b may be overwritten!
- Parameters
-
x The left hand side to store the result in. b The right hand side reduction The minimum defect reduction to achieve. res Object to store the statistics about applying the operator.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
Implemented in Dune::RestartedGMResSolver< X, Y, F >, and Dune::RestartedFlexibleGMResSolver< X, Y, F >.
◆ apply() [4/4]
|
pure virtualinherited |
Apply inverse operator,.
- Warning
- Note: right hand side b may be overwritten!
- Parameters
-
x The left hand side to store the result in. b The right hand side res Object to store the statistics about applying the operator.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
Implemented in Dune::RestartedGMResSolver< X, Y, F >.
◆ category()
|
inlinevirtualinherited |
Category of the solver (see SolverCategory::Category)
Implements Dune::InverseOperator< X, Y >.
◆ name()
|
inlineinherited |
◆ printHeader()
|
inlineprotectedinherited |
helper function for printing header of solver output
◆ printOutput() [1/2]
|
inlineprotectedinherited |
helper function for printing solver output
◆ printOutput() [2/2]
|
inlineprotectedinherited |
helper function for printing solver output
Member Data Documentation
◆ _category
|
protectedinherited |
◆ _maxit
|
protectedinherited |
◆ _op
|
protectedinherited |
◆ _prec
|
protectedinherited |
◆ _reduction
|
protectedinherited |
◆ _sp
|
protectedinherited |
◆ _verbose
|
protectedinherited |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8