Belos Version of the Day
Loading...
Searching...
No Matches
BelosTypes.hpp
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
42#ifndef BELOS_TYPES_HPP
43#define BELOS_TYPES_HPP
44
50#include "BelosConfigDefs.hpp"
51#include "Teuchos_Assert.hpp"
52
53namespace Belos {
54
56
57
60 class BelosError : public std::logic_error {
61 public:
62 BelosError (const std::string& what_arg) : std::logic_error(what_arg) {}
63 };
64
66
67
81 enum ETrans { NOTRANS = 0,
82 TRANS = 1,
83 CONJTRANS = 2
84 };
85
102
129 };
130
143 User
144 };
145
159
161 std::string
163
189 enum StatusType { Passed = 0x1,
190 Failed = 0x2,
191 Undefined = 0x4
192 };
193
206 enum ResetType { Problem = 0x1,
207 RecycleSubspace = 0x2
208 };
209
211 std::string
213
216 convertStringToStatusType (const std::string& status);
217
220 convertStringToNormType (const std::string& normType);
221
224 convertStringToScaleType (const std::string& scaleType);
225
227 std::string
228 convertScaleTypeToString (const ScaleType scaleType);
229
242
264
275 std::string
276 convertMsgTypeToString (const MsgType msgType);
277
293 static const double convTol;
294
296 static const double polyTol;
297
299 static const double orthoKappa;
300
302 static const double resScaleFactor;
303
305 static const double impTolScale;
306 };
307
308
309} // end Belos namespace
310
311#endif /* BELOS_TYPES_HPP */
Belos header file which uses auto-configuration information to include necessary C++ headers.
Parent class to all Belos exceptions.
BelosError(const std::string &what_arg)
std::string convertMsgTypeToString(const MsgType msgType)
Show MsgType as a comma-delimited list of names.
ScaleType convertStringToScaleType(const std::string &scaleType)
Convert the given string to its ScaleType enum value.
NormType
The type of vector norm to compute.
@ PreconditionerNorm
MsgType
Available message types recognized by the linear solvers.
@ OrthoDetails
@ StatusTestDetails
@ FinalSummary
@ TimingDetails
@ IterationDetails
StatusType
Whether the StatusTest wants iteration to stop.
NormType convertStringToNormType(const std::string &normType)
Convert the given string to its NormType enum value.
ReturnType
Whether the Belos solve converged for all linear systems.
@ Unconverged
std::string convertScaleTypeToString(const ScaleType scaleType)
Convert the given ScaleType enum value to its corresponding string.
OutputType
Style of output used to display status test information.
ConjType
Whether or not to conjugate the transpose for block inner products.
std::string convertStatusTypeToString(const StatusType status)
The string name corresponding to the given StatusType enum value.
ScaleType
The type of scaling to use on the residual norm value.
@ UserProvided
@ NormOfFullInitRes
@ NormOfFullPrecInitRes
@ NormOfFullScaledPrecInitRes
@ NormOfFullScaledInitRes
@ NormOfPrecInitRes
@ NormOfInitRes
ETrans
Whether to apply the (conjugate) transpose of an operator.
@ CONJTRANS
ResetType
How to reset the solver.
@ RecycleSubspace
std::string convertReturnTypeToString(const ReturnType result)
Convert the given ReturnType enum value to its corresponding string.
StatusType convertStringToStatusType(const std::string &status)
The StatusType enum value corresponding to the given string name.
Default parameters common to most Belos solvers.
static const double resScaleFactor
User-defined residual scaling factor.
static const double impTolScale
"Implicit Tolerance Scale Factor"
static const double convTol
Default convergence tolerance.
static const double orthoKappa
DGKS orthogonalization constant.
static const double polyTol
Relative residual tolerance for matrix polynomial construction.

Generated for Belos by doxygen 1.10.0