NOX
Development
|
Factory for creating strategy objects to save eigenvectors/values. More...
#include <LOCA_SaveEigenData_Factory.H>
Public Member Functions | |
Factory (const Teuchos::RCP< LOCA::GlobalData > &global_data) | |
Constructor. | |
virtual | ~Factory () |
Destructor. | |
Teuchos::RCP < LOCA::SaveEigenData::AbstractStrategy > | create (const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams) |
Create strategy to save eigenvectors/values. More... | |
const std::string & | strategyName (Teuchos::ParameterList &eigenParams) const |
Return strategy name given by eigenParams . | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Global data. | |
Factory for creating strategy objects to save eigenvectors/values.
The parameters passed to the create() through the eigenParams
argument method should specify the "Method" as described below, as well as any additional parameters for the particular strategy.
User-defined strategies are defined by supplying the parameter "User-Defined Save Eigen Data Name" which is the std::string name of the strategy, and then a parameter with this name that is of the type Teuchos::RCP<LOCA::SaveEigenData::AbstractStrategy>. This allows the user to supply a user-defined strategy without providing a factory to instantiate it. By supplying the name of the parameter storing the strategy, the user can provide multiple strategies in the parameter list and select among them by setting "User-Defined Save Eigen Data Name" to be the name of the strategy.
Teuchos::RCP< LOCA::SaveEigenData::AbstractStrategy > LOCA::SaveEigenData::Factory::create | ( | const Teuchos::RCP< LOCA::Parameter::SublistParser > & | topParams, |
const Teuchos::RCP< Teuchos::ParameterList > & | eigenParams | ||
) |
Create strategy to save eigenvectors/values.
topParams | [in] Parsed top-level parameter list. |
eigenParams | [in] Eigensolver parameters as described above |
References Teuchos::ParameterList::get(), and Teuchos::rcp().