Belos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Belos::StatusTest< ScalarType, MV, OP > Class Template Referenceabstract

A pure virtual class for defining the status tests for the Belos iterative solvers. More...

#include <BelosIteration.hpp>

Inheritance diagram for Belos::StatusTest< ScalarType, MV, OP >:
Inheritance graph
[legend]

Constructors/destructors

 StatusTest ()
 Constructor. More...
 
virtual ~StatusTest ()
 Destructor. More...
 

Status methods

virtual StatusType checkStatus (Iteration< ScalarType, MV, OP > *iSolver)=0
 Check convergence status: Unconverged, Converged, Failed. More...
 
virtual StatusType getStatus () const =0
 Return the result of the most recent CheckStatus call. More...
 

Reset methods

virtual void reset ()=0
 Informs the convergence test that it should reset its internal configuration to the initialized state. More...
 

Print methods

virtual void print (std::ostream &os, int indent=0) const =0
 Output formatted description of stopping test to output stream. More...
 
virtual void printStatus (std::ostream &os, StatusType type) const
 Output the result of the most recent CheckStatus call. More...
 

Additional Inherited Members

- Public Member Functions inherited from Teuchos::Describable
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
virtual std::string description () const
 
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

template<class ScalarType, class MV, class OP>
class Belos::StatusTest< ScalarType, MV, OP >

A pure virtual class for defining the status tests for the Belos iterative solvers.

Belos::StatusTest is an interface that can be implemented to create convergence tests for all Belos solvers. Almost any kind of test can be expressed using this mechanism, including composite tests (see Belos::StatusTestCombo).

Definition at line 35 of file BelosIteration.hpp.

Constructor & Destructor Documentation

template<class ScalarType , class MV , class OP >
Belos::StatusTest< ScalarType, MV, OP >::StatusTest ( )
inline

Constructor.

Definition at line 57 of file BelosStatusTest.hpp.

template<class ScalarType , class MV , class OP >
virtual Belos::StatusTest< ScalarType, MV, OP >::~StatusTest ( )
inlinevirtual

Destructor.

Definition at line 60 of file BelosStatusTest.hpp.

Member Function Documentation

template<class ScalarType , class MV , class OP >
virtual StatusType Belos::StatusTest< ScalarType, MV, OP >::checkStatus ( Iteration< ScalarType, MV, OP > *  iSolver)
pure virtual

Check convergence status: Unconverged, Converged, Failed.

This method checks to see if the convergence criteria are met. The calling routine may pass in the current native residual std::vector (the one naturally produced as part of the iterative method) or a pre-computed estimate of the two-norm of the current residual, or both or neither. The calling routine should also indicate if the solution of the linear problem has been updated to be compatible with the residual. Some methods, such as GMRES do not update the solution at each iteration.

Returns
Belos::StatusType: Unconverged, Converged or Failed.

Implemented in Belos::StatusTestImpResNorm< ScalarType, MV, OP >, Belos::StatusTestGenResNorm< ScalarType, MV, OP >, Belos::StatusTestGenResSubNorm< ScalarType, MV, OP >, Belos::StatusTestCombo< ScalarType, MV, OP >, Belos::StatusTestResNormOutput< ScalarType, MV, OP >, Belos::StatusTestUserOutput< ScalarType, MV, OP >, Belos::StatusTestGeneralOutput< ScalarType, MV, OP >, Belos::LSQRStatusTest< ScalarType, MV, OP >, Belos::StatusTestLogResNorm< ScalarType, MV, OP >, and Belos::StatusTestMaxIters< ScalarType, MV, OP >.

template<class ScalarType , class MV , class OP >
virtual StatusType Belos::StatusTest< ScalarType, MV, OP >::getStatus ( ) const
pure virtual
template<class ScalarType , class MV , class OP >
virtual void Belos::StatusTest< ScalarType, MV, OP >::reset ( )
pure virtual

Informs the convergence test that it should reset its internal configuration to the initialized state.

This is necessary for the case when the status test is being reused by another solver or for another linear problem. The status test may have information that pertains to a particular linear system. The internal information will be reset back to the initialized state. The user specified information that the convergence test uses will remain.

Implemented in Belos::StatusTestUserOutput< ScalarType, MV, OP >, Belos::StatusTestResNormOutput< ScalarType, MV, OP >, Belos::StatusTestImpResNorm< ScalarType, MV, OP >, Belos::StatusTestGeneralOutput< ScalarType, MV, OP >, Belos::StatusTestGenResNorm< ScalarType, MV, OP >, Belos::StatusTestGenResSubNorm< ScalarType, MV, OP >, Belos::StatusTestCombo< ScalarType, MV, OP >, Belos::LSQRStatusTest< ScalarType, MV, OP >, Belos::StatusTestLogResNorm< ScalarType, MV, OP >, and Belos::StatusTestMaxIters< ScalarType, MV, OP >.

template<class ScalarType , class MV , class OP >
virtual void Belos::StatusTest< ScalarType, MV, OP >::print ( std::ostream &  os,
int  indent = 0 
) const
pure virtual
template<class ScalarType , class MV , class OP >
virtual void Belos::StatusTest< ScalarType, MV, OP >::printStatus ( std::ostream &  os,
StatusType  type 
) const
inlinevirtual

The documentation for this class was generated from the following files: