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 (const ParameterType ¶meter=ParameterType(Parameter::container())) | |
| NewtonInverseOperator (const DomainFieldType &epsilon, const ParameterType ¶meter) | |
| NewtonInverseOperator (const DomainFieldType &epsilon, const ParameterReader ¶meter=Parameter::container()) | |
| 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 parameter 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/3]
template<class JacobianOperator , class LInvOp >
|
inlineexplicit |
constructor
- Note
- The tolerance is read from the parameter fem.solver.nonlinear.tolerance
◆ NewtonInverseOperator() [2/3]
template<class JacobianOperator , class LInvOp >
|
inline |
constructor
- Parameters
-
[in] epsilon tolerance for norm of residual [in] parameter parameter set for solver config.
◆ NewtonInverseOperator() [3/3]
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.
The documentation for this class was generated from the following file:
- dune/fem/solver/newtoninverseoperator.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(Apr 21, 12:01, 2026)