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

Raised by GmresBase::extendBasis() if can't extend basis. More...

#include <BelosGmresBase.hpp>

Inheritance diagram for Belos::GmresCantExtendBasis:
Inheritance graph

List of all members.

Public Member Functions

 GmresCantExtendBasis (const std::string &what_arg)

Detailed Description

Raised by GmresBase::extendBasis() if can't extend basis.

Mark Hoemmen An implementation of GmresBase's extendBasis() method must raise this exception if it cannot generate any more candidate basis vectors. If the generated candidate basis vectors do not form a valid basis, the implementation should instead throw GmresCantExtendBasis.

The usual cause of a thrown GmresCantExtendBasis is that the allotted maximum number of basis vectors has been reached. Subclasses may choose, instead of throwing this exception, to attempt to allocate more storage for basis vectors.

BelosError is a subclass of std::logic_error. GmresCantExtendBasis "is a" logic error, because callers of GmresBase::advance() should use GmresBase::canAdvance() method rather than a try/catch to limit the number of iterations. GmresCantExtendBasis should never be thrown by correct code.

Definition at line 142 of file BelosGmresBase.hpp.

Constructor & Destructor Documentation

Belos::GmresCantExtendBasis::GmresCantExtendBasis ( const std::string &  what_arg) [inline]

Definition at line 144 of file BelosGmresBase.hpp.

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