Belos Version of the Day
Loading...
Searching...
No Matches
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.
17
22#include "BelosGCRODRSolMgr.hpp"
23#include "BelosLSQRSolMgr.hpp"
24#include "BelosMinresSolMgr.hpp"
25#include "BelosPCPGSolMgr.hpp"
29#include "BelosRCGSolMgr.hpp"
30#include "BelosTFQMRSolMgr.hpp"
31
32namespace Belos {
33
34template<class SC, class MV, class OP>
36{
37 public:
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
The Belos::BiCGStabSolMgr provides a solver manager for the BiCGStab linear solver.
The Belos::BlockCGSolMgr provides a solver manager for the BlockCG linear solver.
The Belos::BlockGmresSolMgr provides a solver manager for the BlockGmres linear solver.
The Belos::FixedPointSolMgr provides a solver manager for the FixedPoint linear solver.
Declaration and definition of Belos::GCRODRSolMgr, which implements the GCRODR (recycling GMRES) solv...
LSQRSolMgr: interface to the LSQR method.
Solver manager for the MINRES linear solver.
Declaration and definition of Belos::PCPGSolMgr (PCPG iterative linear solver).
The Belos::PseudoBlockCGSolMgr provides a solver manager for the BlockCG linear solver.
The Belos::PseudoBlockGmresSolMgr provides a solver manager for the BlockGmres linear solver.
The Belos::PseudoBlockTFQMRSolMgr provides a solver manager for the pseudo-block TFQMR linear solver.
The Belos::RCGSolMgr provides a solver manager for the RCG (Recycling Conjugate Gradient) linear solv...
The Belos::TFQMRSolMgr provides a solver manager for the TFQMR linear solver.
Specializations of Belos::SolverFactory may inherit from this class to get basic SolverFactory functi...
Alternative run-time polymorphic interface for operators.

Generated for Belos by doxygen 1.9.8