Belos
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
BelosSolverFactory_Generic.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 BELOSSOLVERFACTORY_GENERIC_HPP
11
#define BELOSSOLVERFACTORY_GENERIC_HPP
12
13
// The GenericSolverFactory is different from the others because it is
14
// manually included and registers all the solvers on construction. It exists
15
// for cases which are not covered by the other solver types.
16
#include "
BelosSolverFactory.hpp
"
17
18
#include "
BelosBiCGStabSolMgr.hpp
"
19
#include "
BelosBlockCGSolMgr.hpp
"
20
#include "
BelosBlockGmresSolMgr.hpp
"
21
#include "
BelosFixedPointSolMgr.hpp
"
22
#include "
BelosGCRODRSolMgr.hpp
"
23
#include "
BelosLSQRSolMgr.hpp
"
24
#include "
BelosMinresSolMgr.hpp
"
25
#include "
BelosPCPGSolMgr.hpp
"
26
#include "
BelosPseudoBlockCGSolMgr.hpp
"
27
#include "
BelosPseudoBlockGmresSolMgr.hpp
"
28
#include "
BelosPseudoBlockTFQMRSolMgr.hpp
"
29
#include "
BelosRCGSolMgr.hpp
"
30
#include "
BelosTFQMRSolMgr.hpp
"
31
32
namespace
Belos
{
33
34
template
<
class
SC,
class
MV,
class
OP>
35
class
GenericSolverFactory
:
public
Impl::SolverFactoryParent
<SC, MV, OP>
36
{
37
public
:
38
GenericSolverFactory
() {
39
Impl::registerSolverSubclassForTypes<BiCGStabSolMgr<SC,MV,OP>
, SC, MV, OP> (
"BICGSTAB"
);
40
Impl::registerSolverSubclassForTypes<BlockCGSolMgr<SC,MV,OP>
, SC, MV, OP> (
"BLOCK CG"
);
41
Impl::registerSolverSubclassForTypes<BlockGmresSolMgr<SC,MV,OP>
, SC, MV, OP> (
"BLOCK GMRES"
);
42
Impl::registerSolverSubclassForTypes<FixedPointSolMgr<SC,MV,OP>
, SC, MV, OP> (
"FIXED POINT"
);
43
Impl::registerSolverSubclassForTypes<GCRODRSolMgr<SC,MV,OP>
, SC, MV, OP> (
"GCRODR"
);
44
Impl::registerSolverSubclassForTypes<LSQRSolMgr<SC,MV,OP>
, SC, MV, OP> (
"LSQR"
);
45
Impl::registerSolverSubclassForTypes<MinresSolMgr<SC,MV,OP>
, SC, MV, OP> (
"MINRES"
);
46
Impl::registerSolverSubclassForTypes<PCPGSolMgr<SC,MV,OP>
, SC, MV, OP> (
"PCPG"
);
47
Impl::registerSolverSubclassForTypes<PseudoBlockCGSolMgr<SC,MV,OP>
, SC, MV, OP> (
"PSEUDOBLOCK CG"
);
48
Impl::registerSolverSubclassForTypes<PseudoBlockGmresSolMgr<SC,MV,OP>
, SC, MV, OP> (
"PSEUDOBLOCK GMRES"
);
49
Impl::registerSolverSubclassForTypes<PseudoBlockTFQMRSolMgr<SC,MV,OP>
, SC, MV, OP> (
"PSEUDOBLOCK TFQMR"
);
50
Impl::registerSolverSubclassForTypes<RCGSolMgr<SC,MV,OP>
, SC, MV, OP> (
"RCG"
);
51
Impl::registerSolverSubclassForTypes<TFQMRSolMgr<SC,MV,OP>
, SC, MV, OP> (
"TFQMR"
);
52
};
53
};
54
55
}
// namespace Belos
56
57
#endif
// BELOSSOLVERFACTORY_GENERIC_HPP
BelosBiCGStabSolMgr.hpp
The Belos::BiCGStabSolMgr provides a solver manager for the BiCGStab linear solver.
BelosBlockCGSolMgr.hpp
The Belos::BlockCGSolMgr provides a solver manager for the BlockCG linear solver.
BelosBlockGmresSolMgr.hpp
The Belos::BlockGmresSolMgr provides a solver manager for the BlockGmres linear solver.
BelosFixedPointSolMgr.hpp
The Belos::FixedPointSolMgr provides a solver manager for the FixedPoint linear solver.
BelosGCRODRSolMgr.hpp
Declaration and definition of Belos::GCRODRSolMgr, which implements the GCRODR (recycling GMRES) solv...
BelosLSQRSolMgr.hpp
LSQRSolMgr: interface to the LSQR method.
BelosMinresSolMgr.hpp
Solver manager for the MINRES linear solver.
BelosPCPGSolMgr.hpp
Declaration and definition of Belos::PCPGSolMgr (PCPG iterative linear solver).
BelosPseudoBlockCGSolMgr.hpp
The Belos::PseudoBlockCGSolMgr provides a solver manager for the BlockCG linear solver.
BelosPseudoBlockGmresSolMgr.hpp
The Belos::PseudoBlockGmresSolMgr provides a solver manager for the BlockGmres linear solver.
BelosPseudoBlockTFQMRSolMgr.hpp
The Belos::PseudoBlockTFQMRSolMgr provides a solver manager for the pseudo-block TFQMR linear solver.
BelosRCGSolMgr.hpp
The Belos::RCGSolMgr provides a solver manager for the RCG (Recycling Conjugate Gradient) linear solv...
BelosSolverFactory.hpp
BelosTFQMRSolMgr.hpp
The Belos::TFQMRSolMgr provides a solver manager for the TFQMR linear solver.
Belos::GenericSolverFactory::GenericSolverFactory
GenericSolverFactory()
Definition
BelosSolverFactory_Generic.hpp:38
Belos::Impl::SolverFactoryParent
Specializations of Belos::SolverFactory may inherit from this class to get basic SolverFactory functi...
Definition
BelosSolverFactory.hpp:65
Belos::Impl::registerSolverSubclassForTypes
void registerSolverSubclassForTypes(const std::string &solverName)
Definition
BelosSolverFactory.hpp:246
Belos
Definition
Belos_Details_EBelosSolverType.cpp:13
Generated for Belos by
1.17.0