dune-fem
2.8-git
|
#include <dune/fem/solver/inverseoperatorinterface.hh>
Public Types | |
typedef BaseType ::DomainFunctionType | DomainFunctionType |
typedef BaseType ::RangeFunctionType | RangeFunctionType |
typedef Traits ::SolverDiscreteFunctionType | SolverDiscreteFunctionType |
typedef Traits ::OperatorType | OperatorType |
typedef Traits ::AssembledOperatorType | AssembledOperatorType |
typedef Traits ::PreconditionerType | PreconditionerType |
typedef Traits ::SolverParameterType | SolverParameterType |
typedef DomainFunction::RangeFieldType | DomainFieldType |
field type of the operator's domain More... | |
typedef RangeFunction::RangeFieldType | RangeFieldType |
field type of the operator's range More... | |
Public Member Functions | |
InverseOperatorInterface (const SolverParameterType ¶meter) | |
default constructor More... | |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const |
application of operator to compute More... | |
template<class DImpl , class RImpl > | |
void | operator() (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const |
application of operator to compute More... | |
void | bind (const OperatorType &op) |
store pointer to linear operator More... | |
void | bind (const OperatorType &op, const PreconditionerType &preconditioner) |
store pointer to linear operator and preconditioner More... | |
void | unbind () |
reset all pointers and internal temporary memory More... | |
int | iterations () const |
return number of iterations used in previous call of application operator More... | |
virtual void | setMaxLinearIterations (const int iter) |
set number of max linear iterations to be used before an exception is thrown More... | |
virtual void | setMaxIterations (const int iter) |
void | setParameters (const SolverParameterType &newParams) |
set complete set of linear inverse operator parameters More... | |
SolverParameterType & | parameter () const |
bool | verbose () const |
double | averageCommTime () const |
return accumulated communication time More... | |
InverseOperatorInterface (const InverseOperatorInterface &other) | |
copy constructor setting defaults More... | |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0 |
application operator More... | |
virtual void | finalize () |
finalization of operator More... | |
Protected Types | |
typedef Traits::OperatorType | BaseType |
typedef BartonNackmanInterface< InverseOperatorInterface< Traits >, typename Traits::InverseOperatorType > | Base2Type |
typedef Traits::InverseOperatorType | InverseOperatorType |
Protected Member Functions | |
void | opApply (const SolverDiscreteFunctionType &u, SolverDiscreteFunctionType &w) const |
template<class DImpl , class RImpl > | |
void | opApply (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const |
const Traits::InverseOperatorType & | asImp () const |
Traits::InverseOperatorType & | asImp () |
Static Protected Member Functions | |
static const Traits::InverseOperatorType & | asImp (const ThisType &other) |
static Traits::InverseOperatorType & | asImp (ThisType &other) |
Protected Attributes | |
std::shared_ptr< SolverParameterType > | parameter_ |
const OperatorType * | operator_ = nullptr |
const AssembledOperatorType * | assembledOperator_ = nullptr |
const PreconditionerType * | preconditioner_ = nullptr |
std::unique_ptr< SolverDiscreteFunctionType > | rhs_ |
std::unique_ptr< SolverDiscreteFunctionType > | x_ |
int | iterations_ = -1 |
bool | rightHandSideCopied_ = false |
bool | verbose_ |
typedef Traits :: AssembledOperatorType Dune::Fem::InverseOperatorInterface< Traits >::AssembledOperatorType |
|
protected |
|
protected |
|
inherited |
field type of the operator's domain
typedef BaseType :: DomainFunctionType Dune::Fem::InverseOperatorInterface< Traits >::DomainFunctionType |
|
protected |
typedef Traits :: OperatorType Dune::Fem::InverseOperatorInterface< Traits >::OperatorType |
typedef Traits :: PreconditionerType Dune::Fem::InverseOperatorInterface< Traits >::PreconditionerType |
|
inherited |
field type of the operator's range
typedef BaseType :: RangeFunctionType Dune::Fem::InverseOperatorInterface< Traits >::RangeFunctionType |
typedef Traits :: SolverDiscreteFunctionType Dune::Fem::InverseOperatorInterface< Traits >::SolverDiscreteFunctionType |
typedef Traits :: SolverParameterType Dune::Fem::InverseOperatorInterface< Traits >::SolverParameterType |
|
inline |
default constructor
|
inline |
copy constructor setting defaults
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inline |
return accumulated communication time
|
inline |
|
inline |
|
inlinevirtualinherited |
finalization of operator
|
inline |
return number of iterations used in previous call of application operator
|
inlineprotected |
|
inlineprotected |
|
inline |
application of operator to compute
.
u | parameter right hand side of linear problem |
w | initial guess for linear solver |
|
inlinevirtual |
application of operator to compute
.
u | parameter right hand side of linear problem |
w | initial guess for linear solver |
|
pure virtualinherited |
application operator
[in] | u | argument discrete function |
[out] | w | destination discrete function |
Implemented in Dune::Fem::InverseOperatorInterface< AMGXInverseOperatorTraits< DF > >, and Dune::Fem::InverseOperatorInterface< KrylovInverseOperatorTraits< DiscreteFunction, method > >.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
set number of max linear iterations to be used before an exception is thrown
iter | number of max linear iterations |
|
inline |
set complete set of linear inverse operator parameters
|
inline |
reset all pointers and internal temporary memory
|
inline |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |