Thyra::NonlinearSolverBase< Scalar > Class Template Reference

Base class for all nonlinear equation solvers. More...

#include <Thyra_NonlinearSolverBase.hpp>

Inheritance diagram for Thyra::NonlinearSolverBase< Scalar >:

[legend]
List of all members.

Pure virtual functions that must be overridden in subclasses

virtual void setModel (const Teuchos::RefCountPtr< const ModelEvaluator< Scalar > > &model)=0
 Set the model that defines the nonlinear equations.
virtual Teuchos::RefCountPtr<
const ModelEvaluator< Scalar > > 
getModel () const =0
 Get the model that defines the nonlinear equations.
virtual SolveStatus< Scalar > solve (VectorBase< Scalar > *x, const SolveCriteria< Scalar > *solveCriteria=NULL, VectorBase< Scalar > *delta=NULL)=0
 Solve a set of nonlinear equations from a given starting point.

Virtual functions with default implementation

virtual Teuchos::RefCountPtr<
const VectorBase< Scalar > > 
get_current_x () const
 Return the current value of the solution x as computed in the last solve() operation if supported.
virtual bool is_W_current () const
 Returns true if *get_W() is current with respect to *get_current_x().
virtual Teuchos::RefCountPtr<
LinearOpWithSolveBase< Scalar > > 
get_nonconst_W ()
 Get the Jacobian if available.
virtual Teuchos::RefCountPtr<
const LinearOpWithSolveBase<
Scalar > > 
get_W () const
 Get the Jacobian if available.
virtual void set_W_is_current (bool W_is_current)
 Set if *get_W() is current with respect to *get_current_x().

Detailed Description

template<class Scalar>
class Thyra::NonlinearSolverBase< Scalar >

Base class for all nonlinear equation solvers.

Warning! This interface is highly experimental and general developers should not even consider using it in any way if there is any expectation of code stability!

ToDo: Finish documentation.

ToDo:

Definition at line 57 of file Thyra_NonlinearSolverBase.hpp.


Member Function Documentation

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

Set the model that defines the nonlinear equations.

After the model is set, only the residual f can change between solves and not the structure of the Jacobian W. If a more significant change to *model occurs, then this function must be called again to reset the model and reinitialize.

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

Get the model that defines the nonlinear equations.

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

Solve a set of nonlinear equations from a given starting point.

Parameters:
x [in/out] On input, *x contains the guess for the solution of f(x)=0 as defined by *this->getModel() On output, *x will contain the best estimate of the solution.
solveCriteria [in] If solveCriteria!=NULL then *solveCriteria will contain the criteria for the nonlinear solve.
Returns:
The returned SolveStatus object gives the status of the returned solution *x.
Preconditions:

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

Return the current value of the solution x as computed in the last solve() operation if supported.

The default implementation returns return.get()==NULL.

Definition at line 155 of file Thyra_NonlinearSolverBase.hpp.

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

Returns true if *get_W() is current with respect to *get_current_x().

The default implementation returns false.

Definition at line 161 of file Thyra_NonlinearSolverBase.hpp.

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

Get the Jacobian if available.

The default implementation returns return.get()==NULL.

Definition at line 168 of file Thyra_NonlinearSolverBase.hpp.

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

Get the Jacobian if available.

The default implementation returns return.get()==NULL.

Definition at line 175 of file Thyra_NonlinearSolverBase.hpp.

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

Set if *get_W() is current with respect to *get_current_x().

Preconditions: this->get_W().get()!=NULL

The default implementation throwns an exception.

Definition at line 181 of file Thyra_NonlinearSolverBase.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:32:24 2008 for Thyra ANA Nonlinear Solver Interfaces by doxygen 1.3.9.1