MueLu
Version of the Day
|
Interface for a "factory" that creates MueLu solvers. More...
#include <MueLu_Details_LinearSolverFactory_decl.hpp>
Public Member Functions | |
virtual Teuchos::RCP < Trilinos::Details::LinearSolver < MV, OP, NormType > > | getLinearSolver (const std::string &solverName) |
Get an instance of a MueLu solver. More... | |
Static Public Member Functions | |
static void | registerLinearSolverFactory () |
Register this LinearSolverFactory with the central registry. More... | |
Interface for a "factory" that creates MueLu solvers.
MV | Type of a (multi)vector, representing either the solution(s) X or the right-hand side(s) B of a linear system AX=B. For example, with Tpetra, use a Tpetra::MultiVector specialization. A multivector is a single data structure containing zero or more vectors with the same dimensions and layout. |
OP | Type of a matrix or linear operator that this Solver understands. For example, for Tpetra, use a Tpetra::Operator specialization. Always use the most abstract interface possible; solvers should dynamic_cast to the subclass they need. Also, be consistent: using different classes here (e.g., Tpetra::RowMatrix instead of Tpetra::Operator) means more expensive explicit template instantiation. |
NormType | Type of the norm of a residual. |
Definition at line 43 of file MueLu_Details_LinearSolverFactory_decl.hpp.
|
virtual |
Get an instance of a MueLu solver.
The solver is wrapped in a Trilinos::Details::LinearSolver interface.
solverName | [in] The solver's name. Names are case sensitive |
Implements Trilinos::Details::LinearSolverFactory< MV, OP, NormType >.
Definition at line 354 of file MueLu_Details_LinearSolverFactory_def.hpp.
|
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 MueLu 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. MueLu automatically registers its LinearSolverFactory with the central repository, for all enabled template parameter combinations.
Definition at line 361 of file MueLu_Details_LinearSolverFactory_def.hpp.