|
dune-istl 2.10
|
Abstract base class for all solvers. More...
#include <dune/istl/solver.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, 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 =0 |
| Category of the solver (see SolverCategory::Category). | |
| virtual | ~InverseOperator () |
| Destructor. | |
Protected Types | |
| 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 | |
Abstract base class for all solvers.
An InverseOperator computes the solution of 

| typedef X Dune::InverseOperator< X, Y >::domain_type |
Type of the domain of the operator to be inverted.
| typedef X::field_type Dune::InverseOperator< X, Y >::field_type |
The field type of the operator.
| typedef Y Dune::InverseOperator< X, Y >::range_type |
Type of the range of the operator to be inverted.
| typedef FieldTraits<field_type>::real_type Dune::InverseOperator< X, Y >::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> Dune::InverseOperator< X, Y >::scalar_real_type |
scalar type underlying the field_type
|
inlinevirtual |
Destructor.
|
pure virtual |
apply inverse operator, with given convergence criteria.
| 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. |
| SolverAbort | When the solver detects a problem and cannot continue |
Implemented in Dune::Cholmod< Vector, Index >, and Dune::IterativeSolver< X, X >.
|
pure virtual |
Apply inverse operator,.
| 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. |
| SolverAbort | When the solver detects a problem and cannot continue |
Implemented in Dune::BiCGSTABSolver< X >, Dune::CGSolver< X >, Dune::Cholmod< Vector, Index >, Dune::CompleteFCGSolver< X >, Dune::GeneralizedPCGSolver< X >, Dune::GradientSolver< X >, Dune::LoopSolver< X >, Dune::MINRESSolver< X >, Dune::RestartedFCGSolver< X >, and Dune::RestartedGMResSolver< X, X >.
|
pure virtual |
Category of the solver (see SolverCategory::Category).
Implemented in Dune::Cholmod< Vector, Index >, Dune::IterativeSolver< X, Y >, Dune::IterativeSolver< X, X >, Dune::LDL< BCRSMatrix< FieldMatrix< T, n, m >, A > >, and Dune::SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > >.
|
inlineprotected |
helper function for printing header of solver output
|
inlineprotected |
helper function for printing solver output
|
inlineprotected |
helper function for printing solver output