17 convertStatusTypeToRawString (
const StatusType status)
21 }
else if (status ==
Failed) {
27 "Belos::convertStatusTypeToRawString: Invalid StatusType enum value "
36 return convertStatusTypeToRawString (status);
42 if (status ==
"Passed") {
44 }
else if (status ==
"Failed") {
46 }
else if (status ==
"Undefined") {
50 "Belos::convertStringToStatusType: Invalid string \"" << status
58 if (normType ==
"OneNorm") {
60 }
else if (normType ==
"TwoNorm") {
62 }
else if (normType ==
"InfNorm") {
64 }
else if (normType ==
"PreconditionerNorm") {
68 "Belos::convertStringToNormType(): Invalid norm type \""
69 << normType <<
"\".");
76 if (scaleType ==
"Norm of Initial Residual") {
78 }
else if (scaleType ==
"Norm of Preconditioned Initial Residual") {
80 }
else if (scaleType ==
"Norm of RHS") {
82 }
else if (scaleType ==
"None") {
84 }
else if (scaleType ==
"User Provided") {
88 "Belos::convertStringToScaleType(): Invalid residual scaling type \""
89 << scaleType <<
"\".");
97 return "Norm of Initial Residual";
99 return "Norm of Preconditioned Initial Residual";
101 return "Norm of RHS";
105 return "User Provided";
108 "Belos::convertScaleTypeToString(): Invalid residual scaling type "
109 "value " << scaleType <<
".");
116 typedef std::vector<int>::size_type size_type;
120 const size_type numValidTypes = 8;
121 const int validTypes[] = {
131 const char* typeNames[] = {
147 std::vector<size_type> theList;
148 for (size_type nameIndex = 0; nameIndex < numValidTypes; ++nameIndex) {
149 if (msgType & validTypes[nameIndex]) {
150 theList.push_back (nameIndex);
153 std::ostringstream os;
154 for (size_type k = 0; k < theList.size(); ++k) {
155 const size_type nameIndex = theList[k];
156 os << typeNames[nameIndex];
157 if (nameIndex < theList.size() - 1) {
170 return "Unconverged";
173 "Belos::convertReturnTypeToString: Invalid ReturnType enum value "
static const double orthoKappa
DGKS orthogonalization constant.
ScaleType convertStringToScaleType(const std::string &scaleType)
Convert the given string to its ScaleType enum value.
Collection of types and exceptions used within the Belos solvers.
ScaleType
The type of scaling to use on the residual norm value.
MsgType
Available message types recognized by the linear solvers.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
static const double convTol
Default convergence tolerance.
static const double polyTol
Relative residual tolerance for matrix polynomial construction.
StatusType
Whether the StatusTest wants iteration to stop.
std::string convertStatusTypeToString(const StatusType status)
The string name corresponding to the given StatusType enum value.
std::string convertScaleTypeToString(const ScaleType scaleType)
Convert the given ScaleType enum value to its corresponding string.
static const double impTolScale
"Implicit Tolerance Scale Factor"
NormType convertStringToNormType(const std::string &normType)
Convert the given string to its NormType enum value.
std::string convertMsgTypeToString(const MsgType msgType)
Show MsgType as a comma-delimited list of names.
ReturnType
Whether the Belos solve converged for all linear systems.
NormType
The type of vector norm to compute.
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.
static const double resScaleFactor
User-defined residual scaling factor.