Belos Version of the Day
Loading...
Searching...
No Matches
Belos_Details_registerSolverFactory.cpp
Go to the documentation of this file.
1//@HEADER
2// ************************************************************************
3//
4// Belos: Block Linear Solvers Package
5// Copyright 2004 Sandia Corporation
6//
7// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8// the U.S. Government retains certain rights in this software.
9//
10// Redistribution and use in source and binary forms, with or without
11// modification, are permitted provided that the following conditions are
12// met:
13//
14// 1. Redistributions of source code must retain the above copyright
15// notice, this list of conditions and the following disclaimer.
16//
17// 2. Redistributions in binary form must reproduce the above copyright
18// notice, this list of conditions and the following disclaimer in the
19// documentation and/or other materials provided with the distribution.
20//
21// 3. Neither the name of the Corporation nor the names of the
22// contributors may be used to endorse or promote products derived from
23// this software without specific prior written permission.
24//
25// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36//
37// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
38//
39// ************************************************************************
40//@HEADER
41
44
45#include "BelosMultiVec.hpp"
46#include "BelosOperator.hpp"
48
53#include "BelosGCRODRSolMgr.hpp"
55#include "BelosLSQRSolMgr.hpp"
56#include "BelosMinresSolMgr.hpp"
57#include "BelosPCPGSolMgr.hpp"
61#include "BelosRCGSolMgr.hpp"
62#include "BelosTFQMRSolMgr.hpp"
63
64namespace Belos {
65namespace Details {
66
67#ifdef HAVE_TEUCHOS_COMPLEX
68#define BELOS_DEFINE_REGISTER_SOLVER_MANAGER(manager,name) \
69 Impl::registerSolverSubclassForTypes<manager<fST,fMV,fOP>, fST, fMV, fOP> (name); \
70 Impl::registerSolverSubclassForTypes<manager<dST,dMV,dOP>, dST, dMV, dOP> (name); \
71 Impl::registerSolverSubclassForTypes<manager<cST,cMV,cOP>, cST, cMV, cOP> (name); \
72 Impl::registerSolverSubclassForTypes<manager<cfST,cfMV,cfOP>, cfST, cfMV, cfOP> (name);
73#else // HAVE_TEUCHOS_COMPLEX
74#define BELOS_DEFINE_REGISTER_SOLVER_MANAGER(manager,name) \
75 Impl::registerSolverSubclassForTypes<manager<fST,fMV,fOP>, fST, fMV, fOP> (name); \
76 Impl::registerSolverSubclassForTypes<manager<dST,dMV,dOP>, dST, dMV, dOP> (name);
77#endif // HAVE_TEUCHOS_COMPLEX
78
80 typedef double dST;
81 typedef MultiVec<dST> dMV;
82 typedef Operator<dST> dOP;
83
84 typedef float fST;
85 typedef MultiVec<fST> fMV;
86 typedef Operator<fST> fOP;
87
88#ifdef HAVE_TEUCHOS_COMPLEX
89 typedef std::complex<double> cST;
90 typedef MultiVec<cST> cMV;
91 typedef Operator<cST> cOP;
92
93 typedef std::complex<float> cfST;
94 typedef MultiVec<cfST> cfMV;
95 typedef Operator<cfST> cfOP;
96#endif // HAVE_TEUCHOS_COMPLEX
97
112}
113
114} // namespace Details
115} // namespace Belos
116
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...
Declaration and definition of Belos::GmresPolySolMgr (hybrid block GMRES linear solver).
LSQRSolMgr: interface to the LSQR method.
Solver manager for the MINRES linear solver.
Interface for multivectors used by Belos' linear solvers.
Alternative run-time polymorphic interface for operators.
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.
#define BELOS_DEFINE_REGISTER_SOLVER_MANAGER(manager, name)
The Belos::BiCGStabSolMgr provides a powerful and fully-featured solver manager over the pseudo-block...
The Belos::BlockCGSolMgr provides a powerful and fully-featured solver manager over the CG and BlockC...
Interface to Block GMRES and Flexible GMRES.
The Belos::FixedPointSolMgr provides a powerful and fully-featured solver manager over the FixedPoint...
Implementation of the GCRODR (Recycling GMRES) iterative linear solver.
The GMRES polynomial can be created in conjunction with any standard preconditioner.
LSQR method (for linear systems and linear least-squares problems).
MINRES linear solver solution manager.
Interface for multivectors used by Belos' linear solvers.
Alternative run-time polymorphic interface for operators.
PCPG iterative linear solver.
The Belos::PseudoBlockCGSolMgr provides a powerful and fully-featured solver manager over the pseudo-...
Interface to standard and "pseudoblock" GMRES.
The Belos::PseudoBlockTFQMRSolMgr provides a powerful and fully-featured solver manager over the pseu...
Implementation of the RCG (Recycling Conjugate Gradient) iterative linear solver.
The Belos::TFQMRSolMgr provides a powerful and fully-featured solver manager over the TFQMR linear so...

Generated for Belos by doxygen 1.9.6