NOX Development
Loading...
Searching...
No Matches
Public Member Functions | List of all members
NOX::Direction::Generic Class Referenceabstract

Generic direction interface More...

#include <NOX_Direction_Generic.H>

Inheritance diagram for NOX::Direction::Generic:
Inheritance graph
[legend]

Public Member Functions

 Generic ()
 Constructor.
 
virtual ~Generic ()
 Destructor.
 
virtual bool reset (const Teuchos::RCP< NOX::GlobalData > &gd, Teuchos::ParameterList &params)=0
 Reset direction based on possibly new parameters.
 
virtual bool compute (NOX::Abstract::Vector &dir, NOX::Abstract::Group &grp, const NOX::Solver::Generic &solver)=0
 Compute the direction vector, dir, for a specific method given the current group, grp.
 
virtual bool compute (NOX::Abstract::Vector &dir, NOX::Abstract::Group &grp, const NOX::Solver::LineSearchBased &solver)
 Same as compute(NOX::Abstract::Vector&, NOX::Abstract::Group&, const NOX::Solver::Generic&)
 

Detailed Description

Generic direction interface

Generic interface for calculating a search direction, $d$, to be used in updating the iterate.

Constructor & Destructor Documentation

◆ Generic()

NOX::Direction::Generic::Generic ( )
inline

Constructor.

Constructors of derived objects should look like reset().

Member Function Documentation

◆ compute() [1/2]

virtual bool NOX::Direction::Generic::compute ( NOX::Abstract::Vector & dir,
NOX::Abstract::Group & grp,
const NOX::Solver::Generic & solver )
pure virtual

Compute the direction vector, dir, for a specific method given the current group, grp.

The grp is not const so that we can compute the F vector, the Jacobian matrix, the Newton vector, and so on.

Const access to the solver is used for getting additional information such as the past solution, the iteration number, and so on.

Implemented in NOX::Direction::NonlinearCG, NOX::Direction::Broyden, NOX::Direction::Newton, and NOX::Direction::SteepestDescent.

Referenced by compute(), NOX::Direction::Newton::compute(), NOX::Direction::NonlinearCG::compute(), and NOX::Direction::SteepestDescent::compute().

◆ compute() [2/2]

bool NOX::Direction::Generic::compute ( NOX::Abstract::Vector & dir,
NOX::Abstract::Group & grp,
const NOX::Solver::LineSearchBased & solver )
virtual

Same as compute(NOX::Abstract::Vector&, NOX::Abstract::Group&, const NOX::Solver::Generic&)

Enables direct support for line search based solvers for the purpose of efficiency since the LineSearchBased object has a getStep() function that some directions require.

If it is not redefined in the derived class, it will just call the compute with the NOX::Solver::Generic argument.

Reimplemented in NOX::Direction::Broyden, NOX::Direction::Newton, NOX::Direction::NonlinearCG, and NOX::Direction::SteepestDescent.

References compute().

◆ reset()

virtual bool NOX::Direction::Generic::reset ( const Teuchos::RCP< NOX::GlobalData > & gd,
Teuchos::ParameterList & params )
pure virtual

Reset direction based on possibly new parameters.

Implemented in NOX::Direction::NonlinearCG, NOX::Direction::Broyden, NOX::Direction::Newton, and NOX::Direction::SteepestDescent.


The documentation for this class was generated from the following files: