Factory for creating Epetra-based Piro solvers. More...
#include <Piro_Epetra_SolverFactory.hpp>
Public Member Functions | |
Teuchos::RCP < EpetraExt::ModelEvaluator > | createSolver (const Teuchos::RCP< Teuchos::ParameterList > &piroParams, const Teuchos::RCP< EpetraExt::ModelEvaluator > &model) |
Create a solved model. More... | |
template<typename T > | |
void | setSource (const Provider< T > &p) |
Set the source for auxiliary objects. More... | |
Factory for creating Epetra-based Piro solvers.
Piro::SolverFactory is the counterpart for Thyra-based models.
Teuchos::RCP< EpetraExt::ModelEvaluator > Piro::Epetra::SolverFactory::createSolver | ( | const Teuchos::RCP< Teuchos::ParameterList > & | piroParams, |
const Teuchos::RCP< EpetraExt::ModelEvaluator > & | model | ||
) |
Create a solved model.
The type of Piro solver to instantiate is determined by the value of the string entry labeled "Solver Type"
and located at the top level of parameter list piroParams
.
Currently, the following solver types are available (each accompanied by the corresponding token value):
"NOX"
)"LOCA"
)"LOCA Adaptive"
)"Trapezoid Rule"
)"Velocity Verlet"
)
|
inline |
Set the source for auxiliary objects.
While all Piro solvers only require a model evaluator to be properly initialized, some of them also optionally accept so-called `auxiliary' objects which extend their functionality. For instance, observers allow to monitor the solution process and the intermediate steps taken by the solver.
Currently, the following types are acceptable values for the generic type T: