Ifpack2 Templated Preconditioning Package
Version 1.0
|
Interface for a "factory" that creates Ifpack2 solvers. More...
#include <Ifpack2_Details_LinearSolverFactory_decl.hpp>
Public Member Functions | |
virtual Teuchos::RCP< solver_type > | getLinearSolver (const std::string &solverName) |
Get an instance of a Ifpack2 solver. More... | |
Static Public Member Functions | |
static void | registerLinearSolverFactory () |
Register this LinearSolverFactory with the central registry. More... | |
Interface for a "factory" that creates Ifpack2 solvers.
We use Tpetra's template parameters here, instead of MV, OP, and NormType, because this is not a public-facing class. We also want to avoid mix-ups between MV and OP.
|
virtual |
Get an instance of a Ifpack2 solver.
The solver is wrapped in a Trilinos::Details::LinearSolver interface.
solverName | [in] The solver's name. Names are case sensitive. |
|
static |
Register this LinearSolverFactory with the central registry.
Register this LinearSolverFactory with the central registry, for the given SC, LO, GO, NT template parameters. This will let any clients of Trilinos::Details::getLinearSolver create Ifpack2 solvers with those template parameters.
You may call this function multiple times; it will only have an effect the first time (it is idempotent).
Users do not normally have to call this function. Ifpack2 automatically registers its LinearSolverFactory with the central repository, for all enabled template parameter combinations.