Thyra::DampenedNewtonNonlinearSolver< Scalar > Class Template Reference

Simple dampended Newton solver using a Armijo line search :-). More...

#include <Thyra_DampenedNewtonNonlinearSolver.hpp>

Inheritance diagram for Thyra::DampenedNewtonNonlinearSolver< Scalar >:

[legend]
List of all members.

Overridden from NonlinearSolverBase

void setModel (const Teuchos::RefCountPtr< const ModelEvaluator< Scalar > > &model)
 
Teuchos::RefCountPtr< const
ModelEvaluator< Scalar > > 
getModel () const
 
SolveStatus< Scalar > solve (VectorBase< Scalar > *x, const SolveCriteria< Scalar > *solveCriteria, VectorBase< Scalar > *delta=NULL)
 
Teuchos::RefCountPtr< const
VectorBase< Scalar > > 
get_current_x () const
 
bool is_W_current () const
 
Teuchos::RefCountPtr< LinearOpWithSolveBase<
Scalar > > 
get_nonconst_W ()
 
Teuchos::RefCountPtr< const
LinearOpWithSolveBase< Scalar > > 
get_W () const
 
void set_W_is_current (bool W_is_current)
 

Public Types

typedef Teuchos::ScalarTraits<
Scalar > 
ST
 
typedef ST::magnitudeType ScalarMag
 
typedef Teuchos::ScalarTraits<
ScalarMag
SMT
 

Public Member Functions

void defaultTol (const ScalarMag &defaultTol)
 The default solution tolerance.
const ScalarMagdefaultTol () const
void defaultMaxNewtonIterations (const int &defaultMaxNewtonIterations)
 The default maximum number of iterations.
const int & defaultMaxNewtonIterations () const
void armijoConstant (const Scalar &armijoConstant)
 Set the armijo constant for the line search.
const Scalar & armijoConstant () const
void maxLineSearchIterations (const int &maxLineSearchIterations)
 Set the maximum number of backtracking line search iterations to take.
const int & maxLineSearchIterations () const
 DampenedNewtonNonlinearSolver (const ScalarMag defaultTol=1e-2, const int defaultMaxNewtonIterations=1000, const Scalar armijoConstant=1e-4, const int maxLineSearchIterations=20)
 

Static Public Member Functions

Teuchos::RefCountPtr< const
Teuchos::ParameterList > 
getValidSolveCriteriaExtraParameters ()
 

Private Attributes

ScalarMag defaultTol_
int defaultMaxNewtonIterations_
Scalar armijoConstant_
int maxLineSearchIterations_
Teuchos::RefCountPtr< const
ModelEvaluator< Scalar > > 
model_
Teuchos::RefCountPtr< LinearOpWithSolveBase<
Scalar > > 
J_
Teuchos::RefCountPtr< VectorBase<
Scalar > > 
current_x_
bool J_is_current_

Detailed Description

template<class Scalar>
class Thyra::DampenedNewtonNonlinearSolver< Scalar >

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():

ToDo: Finish documentation.

Definition at line 60 of file Thyra_DampenedNewtonNonlinearSolver.hpp.


Member Typedef Documentation

template<class Scalar>
typedef Teuchos::ScalarTraits<Scalar> Thyra::DampenedNewtonNonlinearSolver< Scalar >::ST
 

Definition at line 64 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
typedef ST::magnitudeType Thyra::DampenedNewtonNonlinearSolver< Scalar >::ScalarMag
 

Definition at line 66 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
typedef Teuchos::ScalarTraits<ScalarMag> Thyra::DampenedNewtonNonlinearSolver< Scalar >::SMT
 

Definition at line 68 of file Thyra_DampenedNewtonNonlinearSolver.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Thyra::DampenedNewtonNonlinearSolver< Scalar >::DampenedNewtonNonlinearSolver const ScalarMag  defaultTol = 1e-2,
const int  defaultMaxNewtonIterations = 1000,
const Scalar  armijoConstant = 1e-4,
const int  maxLineSearchIterations = 20
 

Definition at line 134 of file Thyra_DampenedNewtonNonlinearSolver.hpp.


Member Function Documentation

template<class Scalar>
void Thyra::DampenedNewtonNonlinearSolver< Scalar >::defaultTol const ScalarMag defaultTol  )  [inline]
 

The default solution tolerance.

Definition at line 71 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
const ScalarMag& Thyra::DampenedNewtonNonlinearSolver< Scalar >::defaultTol  )  const [inline]
 

Definition at line 71 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
void Thyra::DampenedNewtonNonlinearSolver< Scalar >::defaultMaxNewtonIterations const int &  defaultMaxNewtonIterations  )  [inline]
 

The default maximum number of iterations.

Definition at line 74 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
const int& Thyra::DampenedNewtonNonlinearSolver< Scalar >::defaultMaxNewtonIterations  )  const [inline]
 

Definition at line 74 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
void Thyra::DampenedNewtonNonlinearSolver< Scalar >::armijoConstant const Scalar &  armijoConstant  )  [inline]
 

Set the armijo constant for the line search.

Definition at line 77 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
const Scalar& Thyra::DampenedNewtonNonlinearSolver< Scalar >::armijoConstant  )  const [inline]
 

Definition at line 77 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
void Thyra::DampenedNewtonNonlinearSolver< Scalar >::maxLineSearchIterations const int &  maxLineSearchIterations  )  [inline]
 

Set the maximum number of backtracking line search iterations to take.

Definition at line 80 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
const int& Thyra::DampenedNewtonNonlinearSolver< Scalar >::maxLineSearchIterations  )  const [inline]
 

Definition at line 80 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const Teuchos::ParameterList > Thyra::DampenedNewtonNonlinearSolver< Scalar >::getValidSolveCriteriaExtraParameters  )  [static]
 

Definition at line 149 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
void Thyra::DampenedNewtonNonlinearSolver< Scalar >::setModel const Teuchos::RefCountPtr< const ModelEvaluator< Scalar > > &  model  )  [virtual]
 

Implements Thyra::NonlinearSolverBase< Scalar >.

Definition at line 164 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const ModelEvaluator< Scalar > > Thyra::DampenedNewtonNonlinearSolver< Scalar >::getModel  )  const [virtual]
 

Implements Thyra::NonlinearSolverBase< Scalar >.

Definition at line 177 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
SolveStatus< Scalar > Thyra::DampenedNewtonNonlinearSolver< Scalar >::solve VectorBase< Scalar > *  x,
const SolveCriteria< Scalar > *  solveCriteria,
VectorBase< Scalar > *  delta = NULL
[virtual]
 

Implements Thyra::NonlinearSolverBase< Scalar >.

Definition at line 184 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const VectorBase< Scalar > > Thyra::DampenedNewtonNonlinearSolver< Scalar >::get_current_x  )  const [virtual]
 

Reimplemented from Thyra::NonlinearSolverBase< Scalar >.

Definition at line 355 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
bool Thyra::DampenedNewtonNonlinearSolver< Scalar >::is_W_current  )  const [virtual]
 

Reimplemented from Thyra::NonlinearSolverBase< Scalar >.

Definition at line 361 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr< LinearOpWithSolveBase< Scalar > > Thyra::DampenedNewtonNonlinearSolver< Scalar >::get_nonconst_W  )  [virtual]
 

Reimplemented from Thyra::NonlinearSolverBase< Scalar >.

Definition at line 368 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const LinearOpWithSolveBase< Scalar > > Thyra::DampenedNewtonNonlinearSolver< Scalar >::get_W  )  const [virtual]
 

Reimplemented from Thyra::NonlinearSolverBase< Scalar >.

Definition at line 375 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
void Thyra::DampenedNewtonNonlinearSolver< Scalar >::set_W_is_current bool  W_is_current  )  [virtual]
 

Reimplemented from Thyra::NonlinearSolverBase< Scalar >.

Definition at line 381 of file Thyra_DampenedNewtonNonlinearSolver.hpp.


Member Data Documentation

template<class Scalar>
ScalarMag Thyra::DampenedNewtonNonlinearSolver< Scalar >::defaultTol_ [private]
 

Definition at line 71 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
int Thyra::DampenedNewtonNonlinearSolver< Scalar >::defaultMaxNewtonIterations_ [private]
 

Definition at line 74 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Scalar Thyra::DampenedNewtonNonlinearSolver< Scalar >::armijoConstant_ [private]
 

Definition at line 77 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
int Thyra::DampenedNewtonNonlinearSolver< Scalar >::maxLineSearchIterations_ [private]
 

Definition at line 80 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr<const ModelEvaluator<Scalar> > Thyra::DampenedNewtonNonlinearSolver< Scalar >::model_ [private]
 

Definition at line 123 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr<LinearOpWithSolveBase<Scalar> > Thyra::DampenedNewtonNonlinearSolver< Scalar >::J_ [private]
 

Definition at line 124 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
Teuchos::RefCountPtr<VectorBase<Scalar> > Thyra::DampenedNewtonNonlinearSolver< Scalar >::current_x_ [private]
 

Definition at line 125 of file Thyra_DampenedNewtonNonlinearSolver.hpp.

template<class Scalar>
bool Thyra::DampenedNewtonNonlinearSolver< Scalar >::J_is_current_ [private]
 

Definition at line 126 of file Thyra_DampenedNewtonNonlinearSolver.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:33:12 2008 for Thyra Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1