|
dune-fem 2.12-git
|
#include <dune/fem/solver/krylovinverseoperators.hh>

Public Types | |
| typedef BaseType::DomainFunctionType | DomainFunctionType |
| typedef BaseType::RangeFunctionType | RangeFunctionType |
| typedef BaseType::OperatorType | OperatorType |
| typedef BaseType::PreconditionerType | PreconditionerType |
| typedef BaseType::AssembledOperatorType | AssembledOperatorType |
| typedef Traits::SolverDiscreteFunctionType | SolverDiscreteFunctionType |
| 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 | |
| KrylovInverseOperator (const OperatorType &op, const SolverParameter ¶meter=SolverParameter(Parameter::container())) | |
| KrylovInverseOperator (const OperatorType &op, const PreconditionerType &preconditioner, const SolverParameter ¶meter=SolverParameter(Parameter::container())) | |
| KrylovInverseOperator (const SolverParameter ¶meter=SolverParameter(Parameter::container())) | |
| main constructor | |
| template<class Operator > | |
| void | bind (const Operator &op) |
| virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const |
| application of operator to compute | |
| void | operator() (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const |
| application of operator to compute | |
| virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0 |
| application operator | |
| 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 | |
| virtual void | finalize () |
| finalization of operator | |
| virtual bool | nonlinear () const |
Static Public Member Functions | |
| static std::vector< int > | supportedSolverMethods () |
| static std::vector< int > | supportedPreconditionMethods () |
Static Public Attributes | |
| static const bool | preconditioningAvailable |
| true if a preconditioner type is exported and can be set using bind( op, p ) | |
Protected Types | |
| typedef BartonNackmanInterface< InverseOperatorInterface< KrylovInverseOperatorTraits< DiscreteFunction, method > >, typename Traits::InverseOperatorType > | Base2Type |
| typedef Traits::InverseOperatorType | InverseOperatorType |
Protected Member Functions | |
| int | apply (const DomainFunctionType &u, RangeFunctionType &w) const |
| template<class LinearOperator > | |
| KrylovInverseOperator (const LinearOperator &op, const PreconditionerType *preconditioner, const SolverParameter ¶meter=SolverParameter(Parameter::container())) | |
| template<class LinearOperator > | |
| void | createPreconditioner (const LinearOperator &op) |
| void | opApply (const SolverDiscreteFunctionType &u, SolverDiscreteFunctionType &w) const |
| void | opApply (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const |
| const Implementation & | asImp () const |
| Implementation & | asImp () |
Static Protected Member Functions | |
| static const Implementation & | asImp (const ThisType &other) |
| static Implementation & | asImp (ThisType &other) |
Protected Attributes | |
| std::unique_ptr< PreconditionerType > | precondObj_ |
| std::vector< DomainFunctionType > | v_ |
| const bool | verbose_ |
| const int | method_ |
| const int | precondMethod_ |
| std::shared_ptr< SolverParameterType > | parameter_ |
| const OperatorType * | operator_ |
| const AssembledOperatorType * | assembledOperator_ |
| const PreconditionerType * | preconditioner_ |
| std::unique_ptr< SolverDiscreteFunctionType > | rhs_ |
| std::unique_ptr< SolverDiscreteFunctionType > | x_ |
| int | iterations_ |
| bool | rightHandSideCopied_ |
Friends | |
| class | InverseOperatorInterface< Traits > |
Member Typedef Documentation
◆ AssembledOperatorType
| typedef BaseType::AssembledOperatorType Dune::Fem::KrylovInverseOperator< DiscreteFunction, method >::AssembledOperatorType |
◆ Base2Type
|
protectedinherited |
◆ DomainFieldType
|
inherited |
field type of the operator's domain
◆ DomainFunctionType
| typedef BaseType::DomainFunctionType Dune::Fem::KrylovInverseOperator< DiscreteFunction, method >::DomainFunctionType |
◆ ErrorMeasureType
|
inherited |
type of error measure (used by NewtonInverseOperator primnarily)
◆ InverseOperatorType
|
protectedinherited |
◆ OperatorType
| typedef BaseType::OperatorType Dune::Fem::KrylovInverseOperator< DiscreteFunction, method >::OperatorType |
◆ PreconditionerType
| typedef BaseType::PreconditionerType Dune::Fem::KrylovInverseOperator< DiscreteFunction, method >::PreconditionerType |
◆ RangeFieldType
|
inherited |
field type of the operator's range
◆ RangeFunctionType
| typedef BaseType::RangeFunctionType Dune::Fem::KrylovInverseOperator< DiscreteFunction, method >::RangeFunctionType |
◆ SolverDiscreteFunctionType
|
inherited |
◆ SolverInfoType
|
inherited |
◆ SolverParameterType
|
inherited |
Constructor & Destructor Documentation
◆ KrylovInverseOperator() [1/4]
|
inline |
◆ KrylovInverseOperator() [2/4]
|
inline |
◆ KrylovInverseOperator() [3/4]
|
inline |
main constructor
◆ KrylovInverseOperator() [4/4]
|
inlineprotected |
Member Function Documentation
◆ apply()
|
inlineprotected |
◆ asImp() [1/4]
|
inlineprotectedinherited |
◆ asImp() [2/4]
|
inlineprotectedinherited |
◆ asImp() [3/4]
|
inlinestaticprotectedinherited |
◆ asImp() [4/4]
|
inlinestaticprotectedinherited |
◆ averageCommTime()
|
inlineinherited |
return accumulated communication time
◆ bind() [1/3]
|
inline |
◆ bind() [2/3]
|
inlineinherited |
◆ bind() [3/3]
|
inlineinherited |
◆ createPreconditioner()
|
inlineprotected |
◆ finalize()
|
inlinevirtualinherited |
finalization of operator
- Note
- The default implementation is empty.
◆ info()
|
inlinevirtualinherited |
Return performance info about last solver call.
◆ iterations()
|
inlineinherited |
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]
|
inlineprotectedinherited |
◆ opApply() [2/2]
|
inlineprotectedinherited |
◆ operator()() [1/3]
|
inlineinherited |
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]
|
inlinevirtualinherited |
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()
|
inlineinherited |
◆ setMaxIterations()
|
inlinevirtualinherited |
◆ setMaxLinearIterations()
|
inlinevirtualinherited |
set number of max linear iterations to be used before an exception is thrown
- Parameters
-
iter number of max linear iterations
◆ setParameters()
|
inlineinherited |
set complete set of linear inverse operator parameters
- Note
- newParams set of new parameters
◆ supportedPreconditionMethods()
|
inlinestatic |
◆ supportedSolverMethods()
|
inlinestatic |
◆ unbind()
|
inlineinherited |
reset all pointers and internal temporary memory
◆ verbose()
|
inlineinherited |
Friends And Related Symbol Documentation
◆ InverseOperatorInterface< Traits >
|
friend |
Member Data Documentation
◆ assembledOperator_
|
protectedinherited |
◆ iterations_
|
mutableprotectedinherited |
◆ method_
|
protected |
◆ operator_
|
protectedinherited |
◆ parameter_
|
protectedinherited |
◆ preconditioner_
|
protectedinherited |
◆ preconditioningAvailable
|
staticinherited |
true if a preconditioner type is exported and can be set using bind( op, p )
◆ precondMethod_
|
protected |
◆ precondObj_
|
protected |
◆ rhs_
|
mutableprotectedinherited |
◆ rightHandSideCopied_
|
mutableprotectedinherited |
◆ v_
|
mutableprotected |
◆ verbose_
|
protected |
◆ x_
|
mutableprotectedinherited |
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