Belos Version of the Day
Public Member Functions
Belos::InnerSolveResult Class Reference

Represents the result of an inner solve. More...

#include <BelosInnerSolveResult.hpp>

List of all members.

Public Member Functions

 InnerSolveResult (const ReturnType theResult, const int theNumRestartCycles, const int theTotalNumIters, const std::map< std::string, double > &theExtraData)
 Constructor.
 InnerSolveResult (const ReturnType theResult, const int theNumRestartCycles, const int theTotalNumIters)
 Constructor, with no "extra data" input argument.
ReturnType result ()
 Did the inner solve converge?
int totalNumIters () const
 Total number of iterations completed over all restarts.
int numRestartCycles () const
 Total number of restart cycles.
const std::map< std::string,
double > & 
extraData () const
 "Extra" data from the inner solve.

Detailed Description

Represents the result of an inner solve.

Author:
Mark Hoemmen
Warning:
This is EXPERIMENTAL CODE. DO NOT RELY ON THIS CODE. The interface or implementation may change at any time.

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.


Constructor & Destructor Documentation

Belos::InnerSolveResult::InnerSolveResult ( const ReturnType  theResult,
const int  theNumRestartCycles,
const int  theTotalNumIters,
const std::map< std::string, double > &  theExtraData 
)

Constructor.

Parameters:
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.


Member Function Documentation

ReturnType Belos::InnerSolveResult::result ( ) [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.

int Belos::InnerSolveResult::totalNumIters ( ) const [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.

int Belos::InnerSolveResult::numRestartCycles ( ) const [inline]

Total number of restart cycles.

Definition at line 113 of file BelosInnerSolveResult.hpp.

const std::map<std::string, double>& Belos::InnerSolveResult::extraData ( ) const [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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines