Ifpack2 Templated Preconditioning Package
Version 1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Ifpack2_Details_LinearSolverFactory_decl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4
//
5
// Copyright 2009 NTESS and the Ifpack2 contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
13
14
#ifndef IFPACK2_DETAILS_LINEARSOLVERFACTORY_DECL_HPP
15
#define IFPACK2_DETAILS_LINEARSOLVERFACTORY_DECL_HPP
16
17
#include "Ifpack2_ConfigDefs.hpp"
18
#include "Trilinos_Details_LinearSolverFactory.hpp"
19
#include "Tpetra_Operator.hpp"
20
21
namespace
Ifpack2
{
22
namespace
Details {
23
30
template
<
class
SC,
class
LO,
class
GO,
class
NT>
31
class
LinearSolverFactory
:
public
Trilinos::Details::LinearSolverFactory<Tpetra::MultiVector<SC, LO, GO, NT>,
32
Tpetra::Operator<SC, LO, GO, NT>,
33
typename Tpetra::MultiVector<SC, LO, GO, NT>::mag_type> {
34
public
:
35
typedef
Trilinos::Details::LinearSolver<Tpetra::MultiVector<SC, LO, GO, NT>,
36
Tpetra::Operator<SC, LO, GO, NT>,
37
typename
Tpetra::MultiVector<SC, LO, GO, NT>::mag_type>
38
solver_type;
39
49
virtual
Teuchos::RCP<solver_type>
50
getLinearSolver
(
const
std::string& solverName);
51
65
static
void
registerLinearSolverFactory
();
66
};
67
68
}
// namespace Details
69
}
// namespace Ifpack2
70
71
#endif
// IFPACK2_DETAILS_LINEARSOLVERFACTORY_DECL_HPP
Ifpack2::Details::LinearSolverFactory
Interface for a "factory" that creates Ifpack2 solvers.
Definition
Ifpack2_Details_LinearSolverFactory_decl.hpp:33
Ifpack2::Details::LinearSolverFactory::getLinearSolver
virtual Teuchos::RCP< solver_type > getLinearSolver(const std::string &solverName)
Get an instance of a Ifpack2 solver.
Definition
Ifpack2_Details_LinearSolverFactory_def.hpp:30
Ifpack2::Details::LinearSolverFactory::registerLinearSolverFactory
static void registerLinearSolverFactory()
Register this LinearSolverFactory with the central registry.
Definition
Ifpack2_Details_LinearSolverFactory_def.hpp:65
Ifpack2
Preconditioners and smoothers for Tpetra sparse matrices.
Definition
Ifpack2_AdditiveSchwarz_decl.hpp:40
Generated by
1.17.0