11#ifndef BELOS_STATUS_TEST_LOGRESNORM_HPP
12#define BELOS_STATUS_TEST_LOGRESNORM_HPP
20#include "Teuchos_ScalarTraits.hpp"
21#include "Teuchos_RCP.hpp"
34template <
class ScalarType,
class MV,
class OP>
39 typedef typename Teuchos::ScalarTraits<ScalarType>::magnitudeType
MagnitudeType;
94 const std::vector<typename Teuchos::ScalarTraits<ScalarType>::magnitudeType>&
116 std::ostringstream
oss;
133 std::vector<typename Teuchos::ScalarTraits<ScalarType>::magnitudeType> logResNorm_;
139 template <
class ScalarType,
class MV,
class OP>
147 logResNorm_.reserve( maxIters_ );
152 template <
class ScalarType,
class MV,
class OP>
158 int numRHS = MVT::GetNumberVecs( *(
lp.getRHS()) );
179 template <
class ScalarType,
class MV,
class OP>
184 logResNorm_.reserve( maxIters_ );
187 template <
class ScalarType,
class MV,
class OP>
193 os <<
"Logging Absolute Residual 2-Norm" << std::endl;
196 template <
class ScalarType,
class MV,
class OP>
199 os << std::left << std::setw(13) << std::setfill(
'.');
201 os << std::left << std::setfill(
' ');
Pure virtual base class for defining the status testing capabilities of Belos.
Alternative run-time polymorphic interface for operators.
Operator()
Default constructor (does nothing).
A Belos::StatusTest debugging class for storing the absolute residual norms generated during a solve.
virtual ~StatusTestLogResNorm()
Destructor.
void reset()
Resets the status test to the initial internal state.
StatusTestLogResNorm(int maxIters)
Constructor.
StatusType checkStatus(Iteration< ScalarType, MV, OP > *iSolver)
Check convergence status of the iterative solver: Unconverged, Converged, Failed.
int getNumIters() const
Returns the current number of iterations from the most recent StatusTest call.
void print(std::ostream &os, int indent=0) const
Output formatted description of stopping test to output stream.
void setMaxIters(int maxIters)
Sets the maximum number of iterations allowed so internal storage can be resized.
const std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > & getLogResNorm() const
Returns the log of the absolute residual norm from the iteration.
std::string description() const
Method to return description of the debugging status test
void printStatus(std::ostream &os, StatusType type) const
Print message for each status specific to this stopping test.
StatusType getStatus() const
Return the result of the most recent CheckStatus call.
int getMaxIters() const
Returns the maximum number of iterations set in the constructor.
Teuchos::ScalarTraits< ScalarType >::magnitudeType MagnitudeType
The type of the magnitude (absolute value) of a ScalarType.
A pure virtual class for defining the status tests for the Belos iterative solvers.
StatusType
Whether the StatusTest wants iteration to stop.