Belos Package Browser (Single Doxygen Collection)
Development
|
Represents the result of an inner solve. More...
#include <BelosInnerSolveResult.hpp>
Public Member Functions | |
InnerSolveResult (const ReturnType theResult, const int theNumRestartCycles, const int theTotalNumIters, const std::map< std::string, double > &theExtraData) | |
Constructor. More... | |
InnerSolveResult (const ReturnType theResult, const int theNumRestartCycles, const int theTotalNumIters) | |
Constructor, with no "extra data" input argument. More... | |
ReturnType | result () |
Did the inner solve converge? More... | |
int | totalNumIters () const |
Total number of iterations completed over all restarts. More... | |
int | numRestartCycles () const |
Total number of restart cycles. More... | |
const std::map< std::string, double > & | extraData () const |
"Extra" data from the inner solve. More... | |
Static Private Member Functions | |
static ReturnType | validatedReturnType (const ReturnType ret) |
static int | requireNonNegInt (const int k) |
Private Attributes | |
ReturnType | result_ |
int | numRestartCycles_ |
int | totalNumIters_ |
std::map< std::string, double > | extraData_ |
Represents the result of an inner solve.
An "inner solve" is an invocation of an iterative method, itself used as the operator or preconditioner for another iterative method. Inner solves may converge or not converge; they take some number of iterations to do either, and that number is less than or equal to some maximum number of iterations. The inner solve result may represent the result of solving for a single right-hand side, or it may aggregate the results of solving for multiple right-hand side(s).
Definition at line 66 of file BelosInnerSolveResult.hpp.
Belos::InnerSolveResult::InnerSolveResult | ( | const ReturnType | theResult, |
const int | theNumRestartCycles, | ||
const int | theTotalNumIters, | ||
const std::map< std::string, double > & | theExtraData | ||
) |
Constructor.
theResult | [in] Result of the solve, in numerical terms (Converged or Unconverged) |
theNumRestartCycles | [in] Number of restart cycles started (not necessarily completed, if convergence happened before the end of the restart cycle). Zero means the initial guess was accurate enough to be judged Converged. |
theTotalNumIters | [in] Total number of iterations, summed over all restart cycles. |
theExtraData | [in] Any more data that the inner solve implementation would like to expose to the outside world. The data are stored as a map from the string label, to a double-precision floating-point value. |
Definition at line 47 of file BelosInnerSolveResult.cpp.
Belos::InnerSolveResult::InnerSolveResult | ( | const ReturnType | theResult, |
const int | theNumRestartCycles, | ||
const int | theTotalNumIters | ||
) |
Constructor, with no "extra data" input argument.
Definition at line 58 of file BelosInnerSolveResult.cpp.
|
inline |
Did the inner solve converge?
The ReturnType enum currently only has two values: Converged and Unconverged. This may or may not change in the future, which is why we express convergence using ReturnType rather than a Boolean value.
Definition at line 101 of file BelosInnerSolveResult.hpp.
|
inline |
Total number of iterations completed over all restarts.
This is the sum of all iterations over all restarts.
Definition at line 108 of file BelosInnerSolveResult.hpp.
|
inline |
Total number of restart cycles.
Definition at line 113 of file BelosInnerSolveResult.hpp.
|
inline |
"Extra" data from the inner solve.
The inner solve may choose to expose more data to the outside world than just the data above. The data are stored as a map from the string label, to a double-precision floating-point value.
Definition at line 123 of file BelosInnerSolveResult.hpp.
|
staticprivate |
Definition at line 67 of file BelosInnerSolveResult.cpp.
|
staticprivate |
Definition at line 78 of file BelosInnerSolveResult.cpp.
|
private |
Definition at line 128 of file BelosInnerSolveResult.hpp.
|
private |
Definition at line 129 of file BelosInnerSolveResult.hpp.
|
private |
Definition at line 129 of file BelosInnerSolveResult.hpp.
|
private |
Definition at line 130 of file BelosInnerSolveResult.hpp.