NOX::Direction::Manager Class Reference

Manager for all direction computations More...

#include <NOX_Direction_Manager.H>

Inheritance diagram for NOX::Direction::Manager:

[legend]
Collaboration diagram for NOX::Direction::Manager:
[legend]
List of all members.

Public Member Functions

 Manager (const NOX::Utils &u)
 Empty Constructor.
 Manager (const NOX::Utils &u, NOX::Parameter::List &params)
 Constructor.
 ~Manager ()
 Destructor.
bool reset (NOX::Parameter::List &params)
 Reset direction based on possibly new parameters.
bool compute (NOX::Abstract::Vector &dir, NOX::Abstract::Group &grp, const NOX::Solver::Generic &solver)
 Compute the direction vector, dir, for a specific method given the current group, grp.
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

Manager for all direction computations

Parameters

"Direction":

Using a User-Defined Direction

The user has the option of passing in a user-defined direction as follows.

  1. Create a direction that derives from NOX::Direction::Generic. For example, the direction Foo might be defined as shown below.

    class Foo : public NOX::Direction::Generic {
    // Insert class definition here
    }
    

  2. Define a class that derives from NOX::Parameter::DirectionConstructor. The easiest way to do this is to use the templated version of this class, called NOX::Parameter::DirectionConstructorT.

  3. Create the appropriate entries in the parameter list, as follows.

    params.sublist("Direction").setParameter("Method", "User Defined");
    params.sublist("Direction").setParameter("User Defined Constructor", foo);
    


Member Function Documentation

bool NOX::Direction::Manager::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 from NOX::Direction::Generic.

bool NOX::Direction::Manager::compute NOX::Abstract::Vector dir,
NOX::Abstract::Group grp,
const NOX::Solver::Generic solver
[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.

Implements NOX::Direction::Generic.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:40:49 2008 for NOX by doxygen 1.3.9.1