dune-fem 2.8.0
|
Inverse operator base on CG method. This is the base class for the cg solver and does not imvolve any runtime parametrization. More...
#include <dune/fem/solver/cginverseoperator.hh>
Public Types | |
typedef BaseType::DomainFunctionType | DomainFunctionType |
typedef BaseType::RangeFunctionType | RangeFunctionType |
typedef Fem::Operator< DomainFunctionType, RangeFunctionType > | OperatorType |
typedef Fem::Operator< RangeFunctionType, DomainFunctionType > | PreconditionerType |
typedef OperatorType::RangeFieldType | RangeFieldType |
typedef Dune::FieldTraits< RangeFieldType >::real_type | RealType |
typedef DomainFunction::RangeFieldType | DomainFieldType |
field type of the operator's domain | |
Public Member Functions | |
CGInverseOperator (RealType redEps, RealType absLimit, unsigned int maxIter, bool verbose, const ParameterReader ¶meter=Parameter::container()) | |
constructor of CGInverseOperator | |
CGInverseOperator (const SolverParameter ¶m=SolverParameter(Parameter::container())) | |
CGInverseOperator (RealType redEps, RealType absLimit, unsigned int maxIter, const ParameterReader ¶meter=Parameter::container()) | |
constructor of CGInverseOperator | |
CGInverseOperator (RealType redEps, RealType absLimit, const ParameterReader ¶meter=Parameter::container()) | |
CGInverseOperator (const OperatorType &op, RealType redEps, RealType absLimit, unsigned int maxIter, bool verbose, const ParameterReader ¶meter=Parameter::container()) | |
constructor of CGInverseOperator | |
CGInverseOperator (const OperatorType &op, RealType redEps, RealType absLimit, unsigned int maxIter, const ParameterReader ¶meter=Parameter::container()) | |
constructor of CGInverseOperator | |
CGInverseOperator (const OperatorType &op, RealType redEps, RealType absLimit, const ParameterReader ¶meter=Parameter::container()) | |
CGInverseOperator (const OperatorType &op, const PreconditionerType &precond, RealType redEps, RealType absLimit, unsigned int maxIter, bool verbose, const ParameterReader ¶meter=Parameter::container()) | |
constructor of CGInverseOperator | |
CGInverseOperator (const OperatorType &op, const PreconditionerType &precond, RealType redEps, RealType absLimit, const ParameterReader ¶meter=Parameter::container()) | |
constructor of CGInverseOperator | |
CGInverseOperator (const OperatorType &op, const PreconditionerType &precond, RealType redEps, RealType absLimit, unsigned int maxIter, const ParameterReader ¶meter=Parameter::container()) | |
void | bind (const OperatorType &op) |
void | bind (const OperatorType &op, const PreconditionerType &precond) |
void | unbind () |
virtual void | operator() (const DomainFunctionType &arg, RangeFunctionType &dest) const |
application operator | |
template<typename... A> | |
void | prepare (A...) const |
virtual void | apply (const DomainFunctionType &arg, RangeFunctionType &dest) const |
application operator | |
unsigned int | iterations () const |
number of iterations needed for last solve | |
void | setMaxIterations (unsigned int maxIter) |
double | averageCommTime () const |
return average communication time during last solve | |
virtual void | finalize () |
finalization of operator | |
Protected Attributes | |
const OperatorType * | operator_ = nullptr |
const PreconditionerType * | preconditioner_ = nullptr |
SolverType | solver_ |
SolverParameter | parameter_ |
Inverse operator base on CG method. This is the base class for the cg solver and does not imvolve any runtime parametrization.
|
inherited |
field type of the operator's domain
typedef BaseType::DomainFunctionType Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::DomainFunctionType |
typedef Fem::Operator< DomainFunctionType, RangeFunctionType > Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::OperatorType |
typedef Fem::Operator< RangeFunctionType, DomainFunctionType > Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::PreconditionerType |
typedef OperatorType::RangeFieldType Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::RangeFieldType |
typedef BaseType::RangeFunctionType Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::RangeFunctionType |
typedef Dune::FieldTraits<RangeFieldType>::real_type Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::RealType |
|
inline |
constructor of CGInverseOperator
[in] | redEps | reduction epsilon |
[in] | absLimit | absolut limit of residual |
[in] | maxIter | maximum number of iteration steps |
[in] | verbose | verbosity |
|
inline |
|
inline |
constructor of CGInverseOperator
[in] | redEps | reduction epsilon |
[in] | absLimit | absolut limit of residual |
[in] | maxIter | maximum number of iteration steps |
|
inline |
|
inline |
constructor of CGInverseOperator
[in] | op | operator to invert |
[in] | redEps | reduction epsilon |
[in] | absLimit | absolut limit of residual |
[in] | maxIter | maximum number of iteration steps |
[in] | verbose | verbosity |
|
inline |
constructor of CGInverseOperator
[in] | op | operator to invert |
[in] | redEps | reduction epsilon |
[in] | absLimit | absolut limit of residual |
[in] | maxIter | maximum number of iteration steps |
|
inline |
|
inline |
constructor of CGInverseOperator
[in] | op | operator to invert |
[in] | precond | precondition operator |
[in] | redEps | reduction epsilon |
[in] | absLimit | absolut limit of residual |
[in] | maxIter | maximum number of iteration steps |
[in] | verbose | verbosity |
|
inline |
constructor of CGInverseOperator
[in] | op | operator to invert |
[in] | precond | precondition operator |
[in] | redEps | reduction epsilon |
[in] | absLimit | absolut limit of residual |
[in] | maxIter | maximum number of iteration steps |
|
inline |
|
inlinevirtual |
application operator
The application operator actually solves the linear system
[in] | arg | argument discrete function |
[out] | dest | destination discrete function |
|
inline |
return average communication time during last solve
|
inline |
|
inline |
|
inlinevirtualinherited |
finalization of operator
|
inline |
number of iterations needed for last solve
|
inlinevirtual |
application operator
The application operator actually solves the linear system
[in] | arg | argument discrete function |
[out] | dest | destination discrete function |
Implements Dune::Fem::Operator< DiscreteFunction, DiscreteFunction >.
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |