|
dune-fem 2.12-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 Impl::SolverInfo | SolverInfoType |
| typedef std::function< bool(const RangeFunctionType &w, const RangeFunctionType &dw, double residualNorm) > | ErrorMeasureType |
| type of error measure (used by NewtonInverseOperator primnarily) | |
| typedef DomainFunction::RangeFieldType | DomainFieldType |
| field type of the operator's domain | |
| typedef RangeFunction::RangeFieldType | RangeFieldType |
| field type of the operator's range | |
Public Member Functions | |
| InverseOperatorInterface (const SolverParameterType ¶meter) | |
| default constructor | |
| virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const |
| application of operator to compute | |
| template<class DImpl , class RImpl > | |
| void | operator() (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const |
| application of operator to compute | |
| void | bind (const OperatorType &op) |
| store pointer to linear operator | |
| void | bind (const OperatorType &op, const PreconditionerType &preconditioner) |
| store pointer to linear operator and preconditioner | |
| void | unbind () |
| reset all pointers and internal temporary memory | |
| int | iterations () const |
| return number of iterations used in previous call of application operator | |
| virtual SolverInfoType | info () const |
| Return performance info about last solver call. | |
| virtual void | setMaxLinearIterations (const int iter) |
| set number of max linear iterations to be used before an exception is thrown | |
| virtual void | setMaxIterations (const int iter) |
| void | setParameters (const SolverParameterType &newParams) |
| set complete set of linear inverse operator parameters | |
| SolverParameterType & | parameter () const |
| bool | verbose () const |
| double | averageCommTime () const |
| return accumulated communication time | |
| InverseOperatorInterface (const InverseOperatorInterface &other) | |
| copy constructor setting defaults | |
| virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0 |
| application operator | |
| virtual void | finalize () |
| finalization of operator | |
| virtual bool | nonlinear () const |
Static Public Attributes | |
| static const bool | preconditioningAvailable = true |
| true if a preconditioner type is exported and can be set using bind( op, p ) | |
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_ |
Member Typedef Documentation
◆ AssembledOperatorType
| typedef Traits::AssembledOperatorType Dune::Fem::InverseOperatorInterface< Traits >::AssembledOperatorType |
◆ Base2Type
|
protected |
◆ BaseType
|
protected |
◆ DomainFieldType
|
inherited |
field type of the operator's domain
◆ DomainFunctionType
| typedef BaseType::DomainFunctionType Dune::Fem::InverseOperatorInterface< Traits >::DomainFunctionType |
◆ ErrorMeasureType
| typedef std::function< bool ( const RangeFunctionType &w, const RangeFunctionType &dw, double residualNorm ) > Dune::Fem::InverseOperatorInterface< Traits >::ErrorMeasureType |
type of error measure (used by NewtonInverseOperator primnarily)
◆ InverseOperatorType
|
protected |
◆ OperatorType
| typedef Traits::OperatorType Dune::Fem::InverseOperatorInterface< Traits >::OperatorType |
◆ PreconditionerType
| typedef Traits::PreconditionerType Dune::Fem::InverseOperatorInterface< Traits >::PreconditionerType |
◆ RangeFieldType
|
inherited |
field type of the operator's range
◆ RangeFunctionType
| typedef BaseType::RangeFunctionType Dune::Fem::InverseOperatorInterface< Traits >::RangeFunctionType |
◆ SolverDiscreteFunctionType
| typedef Traits::SolverDiscreteFunctionType Dune::Fem::InverseOperatorInterface< Traits >::SolverDiscreteFunctionType |
◆ SolverInfoType
| typedef Impl::SolverInfo Dune::Fem::InverseOperatorInterface< Traits >::SolverInfoType |
◆ SolverParameterType
| typedef Traits::SolverParameterType Dune::Fem::InverseOperatorInterface< Traits >::SolverParameterType |
Constructor & Destructor Documentation
◆ InverseOperatorInterface() [1/2]
|
inline |
default constructor
- Note
- parameter SolverParameter object to steer the linear solvers
◆ InverseOperatorInterface() [2/2]
|
inline |
copy constructor setting defaults
Member Function Documentation
◆ asImp() [1/4]
|
inlineprotectedinherited |
◆ asImp() [2/4]
|
inlineprotectedinherited |
◆ asImp() [3/4]
|
inlinestaticprotectedinherited |
◆ asImp() [4/4]
|
inlinestaticprotectedinherited |
◆ averageCommTime()
|
inline |
return accumulated communication time
◆ bind() [1/2]
|
inline |
◆ bind() [2/2]
|
inline |
◆ finalize()
|
inlinevirtualinherited |
finalization of operator
- Note
- The default implementation is empty.
◆ info()
|
inlinevirtual |
Return performance info about last solver call.
◆ iterations()
|
inline |
return number of iterations used in previous call of application operator
◆ nonlinear()
|
inlinevirtualinherited |
Return true if the Operator is nonlinear and false otherwise (default is true).
◆ opApply() [1/2]
|
inlineprotected |
◆ opApply() [2/2]
|
inlineprotected |
◆ operator()() [1/3]
|
inline |
application of operator to compute
\[ w = op^-1( u ) \]
.
- Parameters
-
u parameter right hand side of linear problem w initial guess for linear solver
- Note
- Calling the inverse operator for arbitrary discrete functions a copy to solver compatible discrete function is made.
◆ operator()() [2/3]
|
inlinevirtual |
application of operator to compute
\[ w = op^-1( u ) \]
.
- Parameters
-
u parameter right hand side of linear problem w initial guess for linear solver
◆ operator()() [3/3]
|
pure virtualinherited |
application operator
- Parameters
-
[in] u argument discrete function [out] w destination discrete function
- Note
- This method has to be implemented by all derived classes.
◆ parameter()
|
inline |
◆ setMaxIterations()
|
inlinevirtual |
◆ setMaxLinearIterations()
|
inlinevirtual |
set number of max linear iterations to be used before an exception is thrown
- Parameters
-
iter number of max linear iterations
◆ setParameters()
|
inline |
set complete set of linear inverse operator parameters
- Note
- newParams set of new parameters
◆ unbind()
|
inline |
reset all pointers and internal temporary memory
◆ verbose()
|
inline |
Member Data Documentation
◆ assembledOperator_
|
protected |
◆ iterations_
|
mutableprotected |
◆ operator_
|
protected |
◆ parameter_
|
protected |
◆ preconditioner_
|
protected |
◆ preconditioningAvailable
|
static |
true if a preconditioner type is exported and can be set using bind( op, p )
◆ rhs_
|
mutableprotected |
◆ rightHandSideCopied_
|
mutableprotected |
◆ verbose_
|
mutableprotected |
◆ x_
|
mutableprotected |
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