DUNE-FEM (unstable)
Dune::Fem::NewtonInverseOperator< JacobianOperator, LInvOp > Class Template Referenceabstract
inverse operator based on a newton scheme More...
#include <dune/fem/solver/newtoninverseoperator.hh>
Public Types | |
typedef JacobianOperator | JacobianOperatorType |
type of operator's Jacobian | |
typedef DifferentiableOperator< JacobianOperatorType > | OperatorType |
type of operator to invert | |
typedef LInvOp | LinearInverseOperatorType |
type of linear inverse operator | |
typedef Impl::SolverInfo | SolverInfoType |
performance info about last solver call | |
typedef RangeFunction::RangeFieldType | RangeFieldType |
field type of the operator's range | |
Public Member Functions | |
NewtonInverseOperator (LinearInverseOperatorType jInv, const DomainFieldType &epsilon, const ParameterType ¶meter) | |
NewtonInverseOperator (const ParameterType ¶meter=ParameterType(Parameter::container())) | |
NewtonInverseOperator (const DomainFieldType &epsilon, const ParameterType ¶meter) | |
NewtonInverseOperator (const DomainFieldType &epsilon, const ParameterReader ¶meter=Parameter::container()) | |
void | setErrorMeasure (ErrorMeasureType finished) |
const std::vector< double > & | timing () const |
returns [overall, jacobian, solve] timings in seconds for last operator () call. | |
SolverInfoType | info () const |
return performance information about last solver run */ | |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0 |
application operator More... | |
virtual void | finalize () |
finalization of operator More... | |
virtual bool | nonlinear () const |
Static Public Attributes | |
static constexpr bool | preconditioningAvailable = SelectPreconditioning< LinearInverseOperatorType > :: value |
type of preconditioner for linear solver | |
Detailed Description
template<class JacobianOperator, class LInvOp>
class Dune::Fem::NewtonInverseOperator< JacobianOperator, LInvOp >
class Dune::Fem::NewtonInverseOperator< JacobianOperator, LInvOp >
inverse operator based on a newton scheme
- Template Parameters
-
Op operator to invert (must be a DifferentiableOperator) LInvOp linear inverse operator
- Note
- Verbosity of the NewtonInverseOperator is controlled via the paramter fem.solver.nonlinear.verbose; it defaults to fem.solver.verbose.
- Similar to CG solver the initial guess should take the constraints into account. In this case we need the initial residual to be zero on the boundary, i.e., when calling operator()(u,w) then w=g+u should hold on the Dirichlet boundary. This way we do not explicitly need to call the constraints here.
Constructor & Destructor Documentation
◆ NewtonInverseOperator() [1/4]
template<class JacobianOperator , class LInvOp >
|
inline |
constructor
- Parameters
-
[in] jInv linear inverse operator (will be move constructed)
- Note
- The tolerance is read from the paramter fem.solver.nonlinear.tolerance constructor
- Parameters
-
[in] jInv linear inverse operator (will be move constructed) [in] epsilon tolerance for norm of residual
- Note
- The tolerance is read from the paramter fem.solver.nonlinear.tolerance
◆ NewtonInverseOperator() [2/4]
template<class JacobianOperator , class LInvOp >
|
inlineexplicit |
constructor
- Note
- The tolerance is read from the paramter fem.solver.nonlinear.tolerance
◆ NewtonInverseOperator() [3/4]
template<class JacobianOperator , class LInvOp >
|
inline |
constructor
- Parameters
-
[in] epsilon tolerance for norm of residual [in] parameter parameter set for solver config.
◆ NewtonInverseOperator() [4/4]
template<class JacobianOperator , class LInvOp >
|
inline |
constructor
- Parameters
-
[in] epsilon tolerance for norm of residual [in] parameter parameter set for solver config.
Member Function Documentation
◆ finalize()
|
inlinevirtualinherited |
finalization of operator
- Note
- The default implementation is empty.
◆ nonlinear()
|
inlinevirtualinherited |
Return true
if the Operator is nonlinear and false
otherwise (default is true).
◆ operator()()
|
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.
◆ setErrorMeasure()
template<class JacobianOperator , class LInvOp >
|
inline |
constructor
- Parameters
-
[in] op operator to invert
- Note
- The tolerance is read from the paramter fem.solver.nonlinear.tolerance
The documentation for this class was generated from the following file:
- dune/fem/solver/newtoninverseoperator.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 21, 23:30, 2024)