10 #ifndef THYRA_GENERAL_SOLVE_CRITERIA_BELOS_STATUS_TEST_DECL_HPP
11 #define THYRA_GENERAL_SOLVE_CRITERIA_BELOS_STATUS_TEST_DECL_HPP
13 #include "Thyra_SolveSupportTypes.hpp"
14 #include "BelosStatusTest.hpp"
15 #include "BelosLinearProblem.hpp"
16 #include "BelosMultiVecTraits.hpp"
27 template<
class Scalar>
29 :
public Belos::StatusTest<Scalar, MultiVectorBase<Scalar>, LinearOpBase<Scalar> >,
37 typedef MultiVectorBase<Scalar>
MV;
39 typedef LinearOpBase<Scalar>
OP;
52 const int convergenceTestFrequency);
62 virtual Belos::StatusType
checkStatus(Belos::Iteration<Scalar,MV,OP> *iSolver);
64 virtual Belos::StatusType
getStatus()
const;
68 virtual void print(std::ostream& os,
int indent)
const;
90 const Ptr<
const ReductionFunctional<Scalar> > &reductFunc,
91 const Ptr<
const VectorBase<Scalar> > &x,
92 const Ptr<
const VectorBase<Scalar> > &r
95 void printRhsStatus(
const int currIter,
const int j, std::ostream &out,
96 int indent = 0)
const;
105 template<
class Scalar>
108 const SolveCriteria<Scalar> &solveCriteria,
109 const int convergenceTestFrequency
114 gscbst->setSolveCriteria(solveCriteria, convergenceTestFrequency);
122 #endif // THYRA_GENERAL_SOLVE_CRITERIA_BELOS_STATUS_TEST_DECL_HPP
GeneralSolveCriteriaBelosStatusTest()
SolveCriteria< Scalar > solveCriteria_
Subclass of Belos::StatusTest that implements every possible form of SolveCriteria that exists by for...
ArrayView< const ScalarMag > achievedTol() const
LinearOpBase< Scalar > OP
Array< ScalarMag > b_nrm_
RCP< GeneralSolveCriteriaBelosStatusTest< Scalar > > createGeneralSolveCriteriaBelosStatusTest(const SolveCriteria< Scalar > &solveCriteria, const int convergenceTestFrequency)
Nonmember constructor.
MultiVectorBase< Scalar > MV
virtual Belos::StatusType getStatus() const
void printRhsStatus(const int currIter, const int j, std::ostream &out, int indent=0) const
Array< ScalarMag > lastNumerator_
Array< ScalarMag > lastAchievedTol_
virtual Belos::StatusType checkStatus(Belos::Iteration< Scalar, MV, OP > *iSolver)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Array< ScalarMag > lastDenominator_
ScalarTraits< Scalar >::magnitudeType ScalarMag
ScalarMag computeReductionFunctional(ESolveMeasureNormType measureType, const Ptr< const ReductionFunctional< Scalar > > &reductFunc, const Ptr< const VectorBase< Scalar > > &x, const Ptr< const VectorBase< Scalar > > &r) const
void setSolveCriteria(const SolveCriteria< Scalar > &solveCriteria, const int convergenceTestFrequency)
Array< ScalarMag > r0_nrm_
Belos::StatusType lastRtnStatus_
int convergenceTestFrequency_
virtual void print(std::ostream &os, int indent) const