NOX Development
Public Member Functions | Protected Attributes
LOCA::Factory Class Reference

Factory class for creating strategies More...

#include <LOCA_Factory.H>

Collaboration diagram for LOCA::Factory:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Factory (const Teuchos::RCP< LOCA::GlobalData > &global_data)
 Constructor.
 Factory (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Abstract::Factory > &userFactory)
 Constructor with user-supplied factory.
virtual ~Factory ()
 Destructor.
Strategy create methods
Teuchos::RCP
< LOCA::MultiPredictor::AbstractStrategy
createPredictorStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &predictorParams)
 Create predictor strategy.
Teuchos::RCP
< LOCA::MultiContinuation::AbstractStrategy
createContinuationStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &stepperParams, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &grp, const Teuchos::RCP< LOCA::MultiPredictor::AbstractStrategy > &pred, const vector< int > &paramIDs)
 Create continuation strategy.
Teuchos::RCP
< LOCA::MultiContinuation::AbstractGroup
createBifurcationStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &bifurcationParams, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &grp)
 Create bifurcation strategy.
Teuchos::RCP
< LOCA::StepSize::AbstractStrategy
createStepSizeStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &stepsizeParams)
 Create step size control strategy.
Teuchos::RCP
< LOCA::BorderedSolver::AbstractStrategy
createBorderedSolverStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)
 Create bordered system solver strategy.
Teuchos::RCP
< LOCA::Eigensolver::AbstractStrategy
createEigensolverStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams)
 Create eigensolver strategy.
Teuchos::RCP
< LOCA::EigenvalueSort::AbstractStrategy
createEigenvalueSortStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams)
 Create eigenvalue sort strategy.
Teuchos::RCP
< LOCA::SaveEigenData::AbstractStrategy
createSaveEigenDataStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams)
 Create strategy to save eigenvector/value data.
Teuchos::RCP
< LOCA::AnasaziOperator::AbstractStrategy
createAnasaziOperatorStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Abstract::Group > &grp)
 Create Anasazi operator strategy.
Teuchos::RCP
< LOCA::TurningPoint::MooreSpence::SolverStrategy
createMooreSpenceTurningPointSolverStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)
 Create Moore-Spence turning point solver strategy.
Teuchos::RCP
< LOCA::Pitchfork::MooreSpence::SolverStrategy
createMooreSpencePitchforkSolverStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)
 Create Moore-Spence pitchfork solver strategy.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::SolverStrategy
createMooreSpenceHopfSolverStrategy (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)
 Create Moore-Spence Hopf solver strategy.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.
Teuchos::RCP
< LOCA::Abstract::Factory
factory
 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::StepSize::Factory stepsizeFactory
 Step size factory.
LOCA::BorderedSolver::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::AnasaziOperator::Factory anasaziOperatorFactory
 Anasazi operator factory.
LOCA::TurningPoint::MooreSpence::SolverFactory mooreSpenceTurningPointSolverFactory
 Moore-Spence turning point solver factory.
LOCA::Pitchfork::MooreSpence::SolverFactory mooreSpencePitchforkSolverFactory
 Moore-Spence pitchfork point solver factory.
LOCA::Hopf::MooreSpence::SolverFactory mooreSpenceHopfSolverFactory
 Moore-Spence Hopf point 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::RCP< 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::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< 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.

References factory, and globalData.


Member Function Documentation

Teuchos::RCP< LOCA::AnasaziOperator::AbstractStrategy > LOCA::Factory::createAnasaziOperatorStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  eigenParams,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams,
const Teuchos::RCP< NOX::Abstract::Group > &  grp 
)

Create Anasazi operator strategy.

Instantiates an Anasazi operator strategy based on the "Operator" parameter of the "Eigensolver" sublist. See LOCA::AnasaziOperator::Factory for a description of available strategies.

Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > LOCA::Factory::createBifurcationStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  bifurcationParams,
const Teuchos::RCP< 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::RCP< LOCA::BorderedSolver::AbstractStrategy > LOCA::Factory::createBorderedSolverStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  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::BorderedSolver::Factory for a description of available strategies.

Teuchos::RCP< LOCA::MultiContinuation::AbstractStrategy > LOCA::Factory::createContinuationStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  stepperParams,
const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &  grp,
const Teuchos::RCP< 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::RCP< LOCA::Eigensolver::AbstractStrategy > LOCA::Factory::createEigensolverStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  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::RCP< LOCA::EigenvalueSort::AbstractStrategy > LOCA::Factory::createEigenvalueSortStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  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::RCP< LOCA::Hopf::MooreSpence::SolverStrategy > LOCA::Factory::createMooreSpenceHopfSolverStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams 
)

Create Moore-Spence Hopf solver strategy.

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

Teuchos::RCP< LOCA::Pitchfork::MooreSpence::SolverStrategy > LOCA::Factory::createMooreSpencePitchforkSolverStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams 
)

Create Moore-Spence pitchfork solver strategy.

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

Teuchos::RCP< LOCA::TurningPoint::MooreSpence::SolverStrategy > LOCA::Factory::createMooreSpenceTurningPointSolverStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  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::RCP< LOCA::MultiPredictor::AbstractStrategy > LOCA::Factory::createPredictorStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  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::RCP< LOCA::SaveEigenData::AbstractStrategy > LOCA::Factory::createSaveEigenDataStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  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.

Teuchos::RCP< LOCA::StepSize::AbstractStrategy > LOCA::Factory::createStepSizeStrategy ( const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  stepsizeParams 
)

Create step size control strategy.

Instantiates a step size control strategy based on the "Method" parameter of the "Step Size" sublist. See LOCA::StepSize::Factory for a description of available strategies.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends