45 #ifndef THYRA_GENERAL_SOLVE_CRITERIA_BELOS_STATUS_TEST_DECL_HPP
46 #define THYRA_GENERAL_SOLVE_CRITERIA_BELOS_STATUS_TEST_DECL_HPP
48 #include "Thyra_SolveSupportTypes.hpp"
49 #include "BelosStatusTest.hpp"
50 #include "BelosLinearProblem.hpp"
51 #include "BelosMultiVecTraits.hpp"
52 #include "Teuchos_VerboseObject.hpp"
62 template<
class Scalar>
64 :
public Belos::StatusTest<Scalar, MultiVectorBase<Scalar>, LinearOpBase<Scalar> >,
87 const int convergenceTestFrequency);
97 virtual Belos::StatusType
checkStatus(Belos::Iteration<Scalar,MV,OP> *iSolver);
99 virtual Belos::StatusType
getStatus()
const;
101 virtual void reset();
103 virtual void print(std::ostream& os,
int indent)
const;
109 int convergenceTestFrequency_;
114 Array<ScalarMag> r0_nrm_;
115 Array<ScalarMag> b_nrm_;
116 Array<ScalarMag> lastNumerator_;
117 Array<ScalarMag> lastDenominator_;
118 Array<ScalarMag> lastAchievedTol_;
120 Belos::StatusType lastRtnStatus_;
130 void printRhsStatus(
const int currIter,
const int j, std::ostream &out,
131 int indent = 0)
const;
140 template<
class Scalar>
144 const int convergenceTestFrequency
149 gscbst->setSolveCriteria(solveCriteria, convergenceTestFrequency);
157 #endif // THYRA_GENERAL_SOLVE_CRITERIA_BELOS_STATUS_TEST_DECL_HPP