#include <LOCA_Factory.H>
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 > ¶mIDs) |
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::GlobalData > | globalData |
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. | |
Private Member Functions | |
Factory (const Factory &) | |
Private to prohibit copying. | |
Factory & | operator= (const Factory &) |
Private to prohibit copying. |
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.
Definition at line 94 of file LOCA_Factory.H.
LOCA::Factory::Factory | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data | ) |
Constructor.
global_data | [in] Global data object. The constructor sets the factory member of the global data to this. |
Definition at line 48 of file LOCA_Factory.C.
References globalData.
LOCA::Factory::Factory | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
const Teuchos::RCP< LOCA::Abstract::Factory > & | userFactory | |||
) |
Constructor with user-supplied factory.
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. |
Definition at line 70 of file LOCA_Factory.C.
References factory, and globalData.
LOCA::Factory::~Factory | ( | ) | [virtual] |
LOCA::Factory::Factory | ( | const Factory & | ) | [private] |
Private to prohibit copying.
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.
Definition at line 101 of file LOCA_Factory.C.
References LOCA::MultiPredictor::Factory::create(), factory, haveFactory, predictorFactory, and LOCA::MultiPredictor::Factory::strategyName().
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.
Definition at line 127 of file LOCA_Factory.C.
References continuationFactory, LOCA::MultiContinuation::Factory::create(), factory, haveFactory, and LOCA::MultiContinuation::Factory::strategyName().
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.
Definition at line 158 of file LOCA_Factory.C.
References bifurcationFactory, LOCA::Bifurcation::Factory::create(), factory, haveFactory, and LOCA::Bifurcation::Factory::strategyName().
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.
Definition at line 185 of file LOCA_Factory.C.
References LOCA::StepSize::Factory::create(), factory, haveFactory, stepsizeFactory, and LOCA::StepSize::Factory::strategyName().
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.
Definition at line 211 of file LOCA_Factory.C.
References borderedFactory, LOCA::BorderedSolver::Factory::create(), factory, haveFactory, and LOCA::BorderedSolver::Factory::strategyName().
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.
Definition at line 237 of file LOCA_Factory.C.
References LOCA::Eigensolver::Factory::create(), eigensolverFactory, factory, haveFactory, and LOCA::Eigensolver::Factory::strategyName().
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.
Definition at line 263 of file LOCA_Factory.C.
References LOCA::EigenvalueSort::Factory::create(), eigenvalueSortFactory, factory, haveFactory, and LOCA::EigenvalueSort::Factory::strategyName().
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.
Definition at line 289 of file LOCA_Factory.C.
References LOCA::SaveEigenData::Factory::create(), factory, haveFactory, saveEigenFactory, and LOCA::SaveEigenData::Factory::strategyName().
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.
Definition at line 315 of file LOCA_Factory.C.
References anasaziOperatorFactory, LOCA::AnasaziOperator::Factory::create(), factory, haveFactory, and LOCA::AnasaziOperator::Factory::strategyName().
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.
Definition at line 346 of file LOCA_Factory.C.
References LOCA::TurningPoint::MooreSpence::SolverFactory::create(), factory, haveFactory, mooreSpenceTurningPointSolverFactory, and LOCA::TurningPoint::MooreSpence::SolverFactory::strategyName().
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.
Definition at line 375 of file LOCA_Factory.C.
References LOCA::Pitchfork::MooreSpence::SolverFactory::create(), factory, haveFactory, mooreSpencePitchforkSolverFactory, and LOCA::Pitchfork::MooreSpence::SolverFactory::strategyName().
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.
Definition at line 404 of file LOCA_Factory.C.
References LOCA::Hopf::MooreSpence::SolverFactory::create(), factory, haveFactory, mooreSpenceHopfSolverFactory, and LOCA::Hopf::MooreSpence::SolverFactory::strategyName().
Teuchos::RCP<LOCA::GlobalData> LOCA::Factory::globalData [protected] |
Teuchos::RCP<LOCA::Abstract::Factory> LOCA::Factory::factory [protected] |
User provided factory.
Definition at line 285 of file LOCA_Factory.H.
Referenced by createAnasaziOperatorStrategy(), createBifurcationStrategy(), createBorderedSolverStrategy(), createContinuationStrategy(), createEigensolverStrategy(), createEigenvalueSortStrategy(), createMooreSpenceHopfSolverStrategy(), createMooreSpencePitchforkSolverStrategy(), createMooreSpenceTurningPointSolverStrategy(), createPredictorStrategy(), createSaveEigenDataStrategy(), createStepSizeStrategy(), and Factory().
bool LOCA::Factory::haveFactory [protected] |
Flag indicating whether we have a factory or not.
Definition at line 288 of file LOCA_Factory.H.
Referenced by createAnasaziOperatorStrategy(), createBifurcationStrategy(), createBorderedSolverStrategy(), createContinuationStrategy(), createEigensolverStrategy(), createEigenvalueSortStrategy(), createMooreSpenceHopfSolverStrategy(), createMooreSpencePitchforkSolverStrategy(), createMooreSpenceTurningPointSolverStrategy(), createPredictorStrategy(), createSaveEigenDataStrategy(), and createStepSizeStrategy().
Predictor factory.
Definition at line 291 of file LOCA_Factory.H.
Referenced by createPredictorStrategy().
Continuation factory.
Definition at line 294 of file LOCA_Factory.H.
Referenced by createContinuationStrategy().
Bifurcation factory.
Definition at line 297 of file LOCA_Factory.H.
Referenced by createBifurcationStrategy().
Step size factory.
Definition at line 300 of file LOCA_Factory.H.
Referenced by createStepSizeStrategy().
Bordered system factory.
Definition at line 303 of file LOCA_Factory.H.
Referenced by createBorderedSolverStrategy().
Eigensolver factory.
Definition at line 306 of file LOCA_Factory.H.
Referenced by createEigensolverStrategy().
EigenvalueSort factory.
Definition at line 309 of file LOCA_Factory.H.
Referenced by createEigenvalueSortStrategy().
Save eigen data factory.
Definition at line 312 of file LOCA_Factory.H.
Referenced by createSaveEigenDataStrategy().
Anasazi operator factory.
Definition at line 315 of file LOCA_Factory.H.
Referenced by createAnasaziOperatorStrategy().
LOCA::TurningPoint::MooreSpence::SolverFactory LOCA::Factory::mooreSpenceTurningPointSolverFactory [protected] |
Moore-Spence turning point solver factory.
Definition at line 318 of file LOCA_Factory.H.
Referenced by createMooreSpenceTurningPointSolverStrategy().
LOCA::Pitchfork::MooreSpence::SolverFactory LOCA::Factory::mooreSpencePitchforkSolverFactory [protected] |
Moore-Spence pitchfork point solver factory.
Definition at line 321 of file LOCA_Factory.H.
Referenced by createMooreSpencePitchforkSolverStrategy().
Moore-Spence Hopf point solver factory.
Definition at line 324 of file LOCA_Factory.H.
Referenced by createMooreSpenceHopfSolverStrategy().