|
dune-pdelab
2.4-dev
|
#include <dune/pdelab/newton/newton.hh>

Public Types | |
| typedef NewtonResult< RFType > | Result |
| enum | Strategy { noLineSearch, hackbuschReusken, hackbuschReuskenAcceptBest } |
Public Member Functions | |
| Newton (const GridOperator &go, TrialVector &u_, Solver &solver_) | |
| Newton (const GridOperator &go, Solver &solver_) | |
| void | setParameters (Dune::ParameterTree ¶m) |
| interpret a parameter tree as a set of options for the newton solver More... | |
| void | apply () |
| void | apply (TrialVector &u_) |
| const Result & | result () const |
| void | setVerbosityLevel (unsigned int verbosity_level) |
| void | setKeepMatrix (bool b) |
| Set whether the jacobian matrix should be kept across calls to apply(). More... | |
| bool | keepMatrix () const |
| Return whether the jacobian matrix is kept across calls to apply(). More... | |
| void | discardMatrix () |
| Discard the stored Jacobian matrix. More... | |
| void | setReduction (RFType reduction) |
| void | setMaxIterations (unsigned int maxit) |
| void | setForceIteration (bool force_iteration) |
| void | setAbsoluteLimit (RFType abs_limit_) |
| virtual bool | terminate () |
| void | setLineSearchStrategy (Strategy strategy) |
| void | setLineSearchStrategy (std::string strategy) |
| void | setLineSearchMaxIterations (unsigned int maxit) |
| void | setLineSearchDampingFactor (RFType damping_factor) |
| virtual void | line_search (TrialVector &z, TestVector &r) |
| void | setMinLinearReduction (RFType min_linear_reduction) |
| set the minimal reduction in the linear solver More... | |
| void | setFixedLinearReduction (bool fixed_linear_reduction) |
| set a fixed reduction in the linear solver (overwrites setMinLinearReduction) More... | |
| void | setReassembleThreshold (RFType reassemble_threshold) |
| set a threshold, when the linear operator is reassembled More... | |
| virtual void | prepare_step (Matrix &A, TstV &) |
Protected Member Functions | |
| virtual void | defect (TestVector &r) |
| virtual bool | terminate ()=0 |
| virtual void | prepare_step (Matrix &A, TestVector &r)=0 |
| virtual void | line_search (TrialVector &z, TestVector &r)=0 |
| Strategy | strategyFromName (const std::string &s) |
Protected Attributes | |
| const GridOperator & | gridoperator_ |
| TrialVector * | u_ |
| std::shared_ptr< TrialVector > | z_ |
| std::shared_ptr< TestVector > | r_ |
| std::shared_ptr< Matrix > | A_ |
| Result | res_ |
| unsigned int | verbosity_level_ |
| RFType | prev_defect_ |
| RFType | linear_reduction_ |
| bool | reassembled_ |
| RFType | reduction_ |
| RFType | abs_limit_ |
| bool | keep_matrix_ |
|
inherited |
|
inherited |
| Enumerator | |
|---|---|
| noLineSearch |
don't do any linesearch or damping |
| hackbuschReusken |
perform a linear search for the optimal damping parameter with multiples of damping the strategy was described in [Hackbusch and Reusken, 1989] |
| hackbuschReuskenAcceptBest |
same as hackbuschReusken, but doesn't fail if the best update is still not good enough |
|
inline |
|
inline |
|
inherited |
|
inherited |
|
inlineprotectedvirtualinherited |
|
inlineinherited |
Discard the stored Jacobian matrix.
References Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::A_.
|
inlineinherited |
Return whether the jacobian matrix is kept across calls to apply().
References Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::keep_matrix_.
|
protectedpure virtualinherited |
Implemented in Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >.
|
inlinevirtualinherited |
Implements Dune::PDELab::NewtonBase< GOS, TrlV, TstV >.
References Dune::PDELab::NewtonResult< RFType >::defect, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::defect(), Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::hackbuschReusken, Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::hackbuschReuskenAcceptBest, Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::noLineSearch, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::res_, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::u_, and Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::verbosity_level_.
|
protectedpure virtualinherited |
Implemented in Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >.
|
inlinevirtualinherited |
Implements Dune::PDELab::NewtonBase< GOS, TrlV, TstV >.
References Dune::PDELab::NewtonResult< RFType >::defect, Dune::PDELab::NewtonResult< RFType >::first_defect, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::gridoperator_, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::linear_reduction_, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::prev_defect_, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::reassembled_, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::res_, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::u_, and Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::verbosity_level_.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
set a fixed reduction in the linear solver (overwrites setMinLinearReduction)
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
Set whether the jacobian matrix should be kept across calls to apply().
References Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::keep_matrix_.
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
|
inlineinherited |
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
set the minimal reduction in the linear solver
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inline |
interpret a parameter tree as a set of options for the newton solver
example configuration:
and invocation in the code:
References Dune::PDELab::NewtonTerminate< GOS, TrlV, TstV >::setAbsoluteLimit(), Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::setFixedLinearReduction(), Dune::PDELab::NewtonTerminate< GOS, TrlV, TstV >::setForceIteration(), Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::setKeepMatrix(), Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::setLineSearchDampingFactor(), Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::setLineSearchMaxIterations(), Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::setLineSearchStrategy(), Dune::PDELab::NewtonTerminate< GOS, TrlV, TstV >::setMaxIterations(), Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::setMinLinearReduction(), Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::setReassembleThreshold(), Dune::PDELab::NewtonTerminate< GOS, TrlV, TstV >::setReduction(), and Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::setVerbosityLevel().
|
inlineinherited |
set a threshold, when the linear operator is reassembled
We allow to keep the linear operator over several newton iterations. If the reduction in the newton drops below a given threshold the linear operator is reassembled to ensure convergence.
Referenced by Dune::PDELab::Newton< GOS, S, TrlV, TstV >::setParameters().
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
helper function to get the different strategies from their name
References Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::hackbuschReusken, Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::hackbuschReuskenAcceptBest, and Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::noLineSearch.
Referenced by Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::setLineSearchStrategy().
|
protectedpure virtualinherited |
Implemented in Dune::PDELab::NewtonTerminate< GOS, TrlV, TstV >.
|
inlinevirtualinherited |
Implements Dune::PDELab::NewtonBase< GOS, TrlV, TstV >.
References Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::abs_limit_, Dune::PDELab::LinearSolverResult< RFType >::converged, Dune::PDELab::NewtonResult< RFType >::defect, Dune::PDELab::NewtonResult< RFType >::first_defect, Dune::PDELab::LinearSolverResult< RFType >::iterations, Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::reduction_, and Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::res_.
|
protectedinherited |
Referenced by Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::discardMatrix().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by Dune::PDELab::NewtonSolver< GOS, S, TrlV, TstV >::defect(), Dune::PDELab::NewtonLineSearch< GOS, TrlV, TstV >::line_search(), Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::prepare_step(), Dune::PDELab::NewtonSolver< GOS, S, TrlV, TstV >::result(), and Dune::PDELab::NewtonTerminate< GOS, TrlV, TstV >::terminate().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
1.8.9.1