NOX::LineSearch::Factory Class Reference

Factory to build line search objects derived from NOX::LineSearch::Generic. More...

#include <NOX_LineSearch_Factory.H>

List of all members.

Public Member Functions

 Factory ()
 Constructor.
 ~Factory ()
 Destructor.
Teuchos::RCP
< NOX::LineSearch::Generic
buildLineSearch (const Teuchos::RCP< NOX::GlobalData > &gd, Teuchos::ParameterList &params)
 Factory to build a line search object.


Detailed Description

Factory to build line search objects derived from NOX::LineSearch::Generic.

Parameters

Using a User-Defined Line Search

The user has the option of passing in a user-defined line search. First, they must implement their own line search, deriving from the base class interface NOX::LineSearch::Generic:

   class MyLineSearch : public NOX::LineSearch::Generic {
   
     // Ctor that takes the standard line search arguments.
     MyLineSearch(const Teuchos::RCP<NOX::GlobalData>& gd, 
                  Teuchos::ParameterList& params);

     .
     .
     .

   };

Next they must write a factory to build their object, deriving from the NOX::LineSearch::UserDefinedFactory base class interface:

class MyFactory {
  MyDirFactory();
  ~MyDirFactory();
   Teuchos::RCP<NOX::LineSearch::Generic> buildLineSearch(const Teuchos::RCP< NOX::GlobalData > &gd, Teuchos::ParameterList &params)
   .
   .
   .
};

Then under the "Line Search" parameter sublist, they need to set the method to "User Defined" and register the factory:

using namespace Teuchos; // for RCP and ParameterList
ParameterList& ls_params = p.sublist("Line Search");
RCP<NOX::LineSearch::UserDefinedFactory> ls_facotry = rcp(new MyLineSearchFactory);
ls_params.set("Method", "User Defined");
ls_params.set("User Defined Line Search Factory", ls_factory);

It is critical that the user defined factory be set in the parameter list as a base class type object: NOX::LineSearch::UserDefinedFactory.

Definition at line 135 of file NOX_LineSearch_Factory.H.


Constructor & Destructor Documentation

NOX::LineSearch::Factory::Factory (  ) 

Constructor.

Definition at line 58 of file NOX_LineSearch_Factory.C.

NOX::LineSearch::Factory::~Factory (  ) 

Destructor.

Definition at line 65 of file NOX_LineSearch_Factory.C.


Member Function Documentation

Teuchos::RCP< NOX::LineSearch::Generic > buildLineSearch ( const Teuchos::RCP< NOX::GlobalData > &  gd,
Teuchos::ParameterList &  params 
)

Factory to build a line search object.

Parameters:
gd A global data pointer that contains the top level parameter list. Without storing this inside the line searchobject, there is no guarantee that the second parameter params will still exist. It can be deleted by the top level RCP.
params Sublist with line search construction parameters.
Nonmember function to build a line search object.

Definition at line 73 of file NOX_LineSearch_Factory.C.


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

Generated on Wed Oct 21 14:28:47 2009 for Nonlinear Solver Project by  doxygen 1.5.9