Thyra
Version of the Day
|
Simple dampended Newton solver using a Armijo line search :-) More...
#include <Thyra_DampenedNewtonNonlinearSolver.hpp>
Public Types | |
typedef Teuchos::ScalarTraits < Scalar > | ST |
typedef ST::magnitudeType | ScalarMag |
typedef Teuchos::ScalarTraits < ScalarMag > | SMT |
Public Member Functions | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (ScalarMag, defaultTol) | |
The default solution tolerance. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (int, defaultMaxNewtonIterations) | |
The default maximum number of iterations. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, useDampenedLineSearch) | |
The default maximum number of iterations. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (Scalar, armijoConstant) | |
Set the armijo constant for the line search. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (int, maxLineSearchIterations) | |
Set the maximum number of backtracking line search iterations to take. More... | |
DampenedNewtonNonlinearSolver (const ScalarMag defaultTol=1e-2, const int defaultMaxNewtonIterations=1000, const bool useDampenedLineSearch=true, const Scalar armijoConstant=1e-4, const int maxLineSearchIterations=20) | |
Public Member Functions inherited from Thyra::NonlinearSolverBase< Scalar > | |
virtual bool | supportsCloning () const |
Return if this solver object supports cloning or not. More... | |
virtual RCP < NonlinearSolverBase< Scalar > > | cloneNonlinearSolver () const |
Clone the solver algorithm if supported. More... | |
Static Public Member Functions | |
static RCP< const Teuchos::ParameterList > | getValidSolveCriteriaExtraParameters () |
Overridden from ParameterListAcceptor | |
void | setParameterList (RCP< Teuchos::ParameterList > const ¶mList) |
RCP< Teuchos::ParameterList > | getNonconstParameterList () |
RCP< Teuchos::ParameterList > | unsetParameterList () |
RCP< const Teuchos::ParameterList > | getParameterList () const |
RCP< const Teuchos::ParameterList > | getValidParameters () const |
Overridden from NonlinearSolverBase | |
void | setModel (const RCP< const ModelEvaluator< Scalar > > &model) |
RCP< const ModelEvaluator < Scalar > > | getModel () const |
SolveStatus< Scalar > | solve (VectorBase< Scalar > *x, const SolveCriteria< Scalar > *solveCriteria, VectorBase< Scalar > *delta) |
RCP< const VectorBase< Scalar > > | get_current_x () const |
bool | is_W_current () const |
RCP< LinearOpWithSolveBase < Scalar > > | get_nonconst_W (const bool forceUpToDate) |
RCP< const LinearOpWithSolveBase< Scalar > > | get_W () const |
void | set_W_is_current (bool W_is_current) |
Additional Inherited Members | |
Related Functions inherited from Thyra::NonlinearSolverBase< Scalar > | |
template<class Scalar > | |
const SolveStatus< Scalar > | solve (NonlinearSolverBase< Scalar > &nonlinearSolver, VectorBase< Scalar > *x, const SolveCriteria< Scalar > *solveCriteria=NULL, VectorBase< Scalar > *delta=NULL) |
Simple dampended Newton solver using a Armijo line search :-)
This class derives from Teuchos::VerboseObject
and therefore will send output to *this->getOStream()
if !Teuchos::isNull(this->getOStream())
. The amount of output sent to *this->getOStream()
depends on the verbosity level returned by this->getVerbLevel()
:
Teuchos::VERB_DEFAULT
: Same as Teuchos::VERB_LOW
. Teuchos::VERB_NONE
: Output nothing Teuchos::VERB_LOW
: Ouput only two lines of output for each Newton iteration Teuchos::VERB_MEDIUM
: Output lines for each Newton iteration and line search iteration Teuchos::VERB_HIGH
: Output more details about the Newton and line search iterations (good for basic debugging) Teuchos::VERB_EXTREME
: Dump all the matrices and vectors that are computed. ToDo: Finish documentation.
Definition at line 80 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
typedef Teuchos::ScalarTraits<Scalar> Thyra::DampenedNewtonNonlinearSolver< Scalar >::ST |
Definition at line 84 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
typedef ST::magnitudeType Thyra::DampenedNewtonNonlinearSolver< Scalar >::ScalarMag |
Definition at line 86 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
typedef Teuchos::ScalarTraits<ScalarMag> Thyra::DampenedNewtonNonlinearSolver< Scalar >::SMT |
Definition at line 88 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
Thyra::DampenedNewtonNonlinearSolver< Scalar >::DampenedNewtonNonlinearSolver | ( | const ScalarMag | defaultTol = 1e-2 , |
const int | defaultMaxNewtonIterations = 1000 , |
||
const bool | useDampenedLineSearch = true , |
||
const Scalar | armijoConstant = 1e-4 , |
||
const int | maxLineSearchIterations = 20 |
||
) |
Definition at line 176 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
Thyra::DampenedNewtonNonlinearSolver< Scalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | ScalarMag | , |
defaultTol | |||
) |
The default solution tolerance.
Thyra::DampenedNewtonNonlinearSolver< Scalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | int | , |
defaultMaxNewtonIterations | |||
) |
The default maximum number of iterations.
Thyra::DampenedNewtonNonlinearSolver< Scalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | bool | , |
useDampenedLineSearch | |||
) |
The default maximum number of iterations.
Thyra::DampenedNewtonNonlinearSolver< Scalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | Scalar | , |
armijoConstant | |||
) |
Set the armijo constant for the line search.
Thyra::DampenedNewtonNonlinearSolver< Scalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | int | , |
maxLineSearchIterations | |||
) |
Set the maximum number of backtracking line search iterations to take.
|
static |
Definition at line 193 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 208 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 225 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 232 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 241 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 248 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Implements Thyra::NonlinearSolverBase< Scalar >.
Definition at line 265 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Implements Thyra::NonlinearSolverBase< Scalar >.
Definition at line 278 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Implements Thyra::NonlinearSolverBase< Scalar >.
Definition at line 285 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Reimplemented from Thyra::NonlinearSolverBase< Scalar >.
Definition at line 490 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Reimplemented from Thyra::NonlinearSolverBase< Scalar >.
Definition at line 496 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Reimplemented from Thyra::NonlinearSolverBase< Scalar >.
Definition at line 503 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Reimplemented from Thyra::NonlinearSolverBase< Scalar >.
Definition at line 513 of file Thyra_DampenedNewtonNonlinearSolver.hpp.
|
virtual |
Reimplemented from Thyra::NonlinearSolverBase< Scalar >.
Definition at line 519 of file Thyra_DampenedNewtonNonlinearSolver.hpp.