Belos
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
BelosCustomSolverFactory.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Belos: Block Linear Solvers Package
4
//
5
// Copyright 2004-2016 NTESS and the Belos contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef BELOSSOLVERFACTORYBASE_HPP
11
#define BELOSSOLVERFACTORYBASE_HPP
12
13
#include <string>
14
#include <vector>
15
#include "Teuchos_RCP.hpp"
16
17
#ifndef DOXYGEN_SHOULD_SKIP_THIS
18
namespace
Teuchos {
19
// Forward declaration
20
class
ParameterList;
21
}
// namespace Teuchos
22
#endif
// DOXYGEN_SHOULD_SKIP_THIS
23
24
namespace
Belos
{
25
26
#ifndef DOXYGEN_SHOULD_SKIP_THIS
27
// Forward declaration
28
template
<
class
Scalar,
class
MV,
class
OP>
29
class
SolverManager
;
30
#endif
// DOXYGEN_SHOULD_SKIP_THIS
31
48
template
<
class
Scalar,
class
MV,
class
OP>
49
class
CustomSolverFactory
{
50
public
:
81
virtual
Teuchos::RCP<SolverManager<Scalar, MV, OP> >
82
getSolver
(
const
std::string& solverName,
83
const
Teuchos::RCP<Teuchos::ParameterList>& solverParams) = 0;
84
90
virtual
int
numSupportedSolvers
()
const
= 0;
91
97
virtual
std::vector<std::string>
supportedSolverNames
()
const
= 0;
98
100
virtual
bool
isSupported
(
const
std::string& solverName)
const
= 0;
101
103
virtual
~CustomSolverFactory
() {}
104
};
105
106
}
// namespace Belos
107
108
#endif
// BELOSSOLVERFACTORYBASE_HPP
Belos::CustomSolverFactory
Interface for custom Belos solver factories.
Definition
BelosCustomSolverFactory.hpp:49
Belos::CustomSolverFactory::~CustomSolverFactory
virtual ~CustomSolverFactory()
Destructor (virtual, for safety of derived classes).
Definition
BelosCustomSolverFactory.hpp:103
Belos::CustomSolverFactory::numSupportedSolvers
virtual int numSupportedSolvers() const =0
Number of supported solvers.
Belos::CustomSolverFactory::isSupported
virtual bool isSupported(const std::string &solverName) const =0
Whether the given solver name names a supported solver.
Belos::CustomSolverFactory::getSolver
virtual Teuchos::RCP< SolverManager< Scalar, MV, OP > > getSolver(const std::string &solverName, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)=0
Return an instance of the specified solver, or Teuchos::null if this factory does not provide the req...
Belos::CustomSolverFactory::supportedSolverNames
virtual std::vector< std::string > supportedSolverNames() const =0
List of supported solver names.
Belos::SolverManager
The Belos::SolverManager is a templated virtual base class that defines the basic interface that any ...
Definition
BelosSolverManager.hpp:39
Belos
Definition
Belos_Details_EBelosSolverType.cpp:13
Generated for Belos by
1.17.0