LOCA::Factory Class Reference

Factory class for creating strategies More...

#include <LOCA_Factory.H>

Collaboration diagram for LOCA::Factory:

[legend]
List of all members.

Public Member Functions

 Factory (const Teuchos::RefCountPtr< LOCA::GlobalData > &global_data)
 Constructor.
 Factory (const Teuchos::RefCountPtr< LOCA::GlobalData > &global_data, const Teuchos::RefCountPtr< LOCA::Abstract::Factory > &userFactory)
 Constructor with user-supplied factory.
virtual ~Factory ()
 Destructor.
Strategy create methods
Teuchos::RefCountPtr< LOCA::MultiPredictor::AbstractStrategycreatePredictorStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &predictorParams)
 Create predictor strategy.
Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractStrategycreateContinuationStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &stepperParams, const Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > &grp, const Teuchos::RefCountPtr< LOCA::MultiPredictor::AbstractStrategy > &pred, const vector< int > &paramIDs)
 Create continuation strategy.
Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroupcreateBifurcationStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &bifurcationParams, const Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > &grp)
 Create bifurcation strategy.
Teuchos::RefCountPtr< LOCA::BorderedSystem::AbstractStrategycreateBorderedSystemStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &solverParams)
 Create bordered system solver strategy.
Teuchos::RefCountPtr< LOCA::Eigensolver::AbstractStrategycreateEigensolverStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &eigenParams)
 Create eigensolver strategy.
Teuchos::RefCountPtr< LOCA::EigenvalueSort::AbstractStrategycreateEigenvalueSortStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &eigenParams)
 Create eigenvalue sort strategy.
Teuchos::RefCountPtr< LOCA::SaveEigenData::AbstractStrategycreateSaveEigenDataStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &eigenParams)
 Create strategy to save eigenvector/value data.
Teuchos::RefCountPtr< LOCA::TurningPoint::MooreSpence::SolverStrategycreateMooreSpenceSolverStrategy (const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &solverParams)
 Create Moore-Spence turning point solver strategy.

Protected Attributes

Teuchos::RefCountPtr< LOCA::GlobalDataglobalData
 Global data.
Teuchos::RefCountPtr< LOCA::Abstract::Factoryfactory
 User provided factory.
bool haveFactory
 Flag indicating whether we have a factory or not.
LOCA::MultiPredictor::Factory predictorFactory
 Predictor factory.
LOCA::MultiContinuation::Factory continuationFactory
 Continuation factory.
LOCA::Bifurcation::Factory bifurcationFactory
 Bifurcation factory.
LOCA::BorderedSystem::Factory borderedFactory
 Bordered system factory.
LOCA::Eigensolver::Factory eigensolverFactory
 Eigensolver factory.
LOCA::EigenvalueSort::Factory eigenvalueSortFactory
 EigenvalueSort factory.
LOCA::SaveEigenData::Factory saveEigenFactory
 Save eigen data factory.
LOCA::TurningPoint::MooreSpence::SolverFactory mooreSpenceSolverFactory
 Moore-Spence solver factory.

Detailed Description

Factory class for creating strategies

The Factory class provides a single location for instantiating various strategies based on parameter list choices. It provides a create() method for each type of strategy which instantiates strategy objects for that type. Each create method takes as arguments a ref-count pointer to a LOCA::Parameter::SublistParser and a parameter list. The parameter list determines which strategy to choose and also should provide any parameters the strategy requires. The sublist parser provides a parsed version of the top-level parameter list and allows strategies to easily obtain other sublists from the top-level list. A user-supplied factory may also be provided for instantiating user-defined strategies. If a user-defined factory is supplied, each create method will first attempt to instantiate the strategy using it, and then instantiate strategies itself if necessary.


Constructor & Destructor Documentation

LOCA::Factory::Factory const Teuchos::RefCountPtr< LOCA::GlobalData > &  global_data  ) 
 

Constructor.

Parameters:
global_data [in] Global data object. The constructor sets the factory member of the global data to this.

LOCA::Factory::Factory const Teuchos::RefCountPtr< LOCA::GlobalData > &  global_data,
const Teuchos::RefCountPtr< LOCA::Abstract::Factory > &  userFactory
 

Constructor with user-supplied factory.

Parameters:
global_data [in] Global data object. The constructor sets the factory member of the global data to this.
userFactory [in] A user-supplied factory for instantiating user-defined strategies.


Member Function Documentation

Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > LOCA::Factory::createBifurcationStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  bifurcationParams,
const Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > &  grp
 

Create bifurcation strategy.

Instantiates a bifurcation strategy based on the "Method" parameter of the "Bifurcation" sublist. See LOCA::Bifurcation::Factory for a description of available strategies.

Teuchos::RefCountPtr< LOCA::BorderedSystem::AbstractStrategy > LOCA::Factory::createBorderedSystemStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  solverParams
 

Create bordered system solver strategy.

Instantiates an bordered system solver strategy based on the "Bordered Solver Method" parameter of the "Linear Solver" sublist. See LOCA::BorderedSystem::Factory for a description of available strategies.

Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractStrategy > LOCA::Factory::createContinuationStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  stepperParams,
const Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > &  grp,
const Teuchos::RefCountPtr< LOCA::MultiPredictor::AbstractStrategy > &  pred,
const vector< int > &  paramIDs
 

Create continuation strategy.

Instantiates a continuation strategy based on the "Continuation Method" parameter of the "Stepper" sublist. See LOCA::MultiContinuation::Factory for a description of available strategies.

Teuchos::RefCountPtr< LOCA::Eigensolver::AbstractStrategy > LOCA::Factory::createEigensolverStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  eigenParams
 

Create eigensolver strategy.

Instantiates an eigensolver strategy based on the "Method" parameter of the "Eigensolver" sublist. See LOCA::Eigensolver::Factory for a description of available strategies.

Teuchos::RefCountPtr< LOCA::EigenvalueSort::AbstractStrategy > LOCA::Factory::createEigenvalueSortStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  eigenParams
 

Create eigenvalue sort strategy.

Instantiates an eigenvalue sorting strategy based on the "Sorting Method" parameter of the "Eigensolver" sublist. See LOCA::EigenvalueSort::Factory for a description of available strategies.

Teuchos::RefCountPtr< LOCA::TurningPoint::MooreSpence::SolverStrategy > LOCA::Factory::createMooreSpenceSolverStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  solverParams
 

Create Moore-Spence turning point solver strategy.

Instantiates a solver strategy based on the "Solver Method" parameter of the "Bifurcation" sublist. See LOCA::TurningPoint::MooreSpence::SolverFactory for a description of available strategies.

Teuchos::RefCountPtr< LOCA::MultiPredictor::AbstractStrategy > LOCA::Factory::createPredictorStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  predictorParams
 

Create predictor strategy.

Instantiates a predictor strategy based on the "Method" parameter of the "Predictor" sublist. See LOCA::MultiPredictor::Factory for a description of available strategies.

Teuchos::RefCountPtr< LOCA::SaveEigenData::AbstractStrategy > LOCA::Factory::createSaveEigenDataStrategy const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RefCountPtr< NOX::Parameter::List > &  eigenParams
 

Create strategy to save eigenvector/value data.

Instantiates a strategy to save eigenvector/value data based on the "Save Eigen Data Method" parameter of the "Eigensolver" sublist. See LOCA::SaveEigenData::Factory for a description of available strategies.


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