Belos  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BelosStatusTestResNorm.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Belos: Block Linear Solvers Package
4 //
5 // Copyright 2004-2016 NTESS and the Belos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef BELOS_STATUS_TEST_RESNORM_H
11 #define BELOS_STATUS_TEST_RESNORM_H
12 
18 #include "BelosStatusTest.hpp"
19 #include "BelosLinearProblem.hpp"
20 #include "BelosMultiVecTraits.hpp"
21 
27 namespace Belos {
28 
29 template <class ScalarType, class MV, class OP>
30 class StatusTestResNorm: public StatusTest<ScalarType,MV,OP> {
31 
32  public:
33 
34  // Convenience typedefs
38 
40 
41 
43 
46  virtual int setTolerance(MagnitudeType tolerance) = 0;
47 
50  virtual int setQuorum(int quorum) = 0;
51 
53  virtual int setShowMaxResNormOnly(bool showMaxResNormOnly) = 0;
54 
56  virtual int defineScaleForm( ScaleType TypeOfScaling, NormType TypeOfNorm, MagnitudeType ScaleValue = Teuchos::ScalarTraits<MagnitudeType>::one()) = 0;
57 
59 
61 
62 
65  virtual int getQuorum() const = 0;
66 
68  virtual bool getShowMaxResNormOnly() = 0;
69 
71  virtual std::vector<int> convIndices() = 0;
72 
74  virtual MagnitudeType getTolerance() const = 0;
75 
77  virtual const std::vector<MagnitudeType>* getTestValue() const = 0;
78 
81  virtual Teuchos::RCP<MV> getSolution() = 0;
82 
84  virtual bool getLOADetected() const = 0;
85 
87 
88 };
89 
90 } // end namespace Belos
91 
92 #endif /* BELOS_STATUS_TEST_RESNORM_H */
virtual std::vector< int > convIndices()=0
Returns the std::vector containing the indices of the residuals that passed the test.
ScaleType
The type of scaling to use on the residual norm value.
Definition: BelosTypes.hpp:88
virtual int setQuorum(int quorum)=0
Sets the number of residuals that must pass the convergence test before Passed is returned...
virtual int getQuorum() const =0
Returns the number of residuals that must pass the convergence test before Passed is returned...
Pure virtual base class for defining the status testing capabilities of Belos.
Declaration of basic traits for the multivector type.
An abstract class of StatusTest for stopping criteria using residual norms.
virtual MagnitudeType getTolerance() const =0
Returns the value of the tolerance, , set in the constructor.
A pure virtual class for defining the status tests for the Belos iterative solvers.
virtual int defineScaleForm(ScaleType TypeOfScaling, NormType TypeOfNorm, MagnitudeType ScaleValue=Teuchos::ScalarTraits< MagnitudeType >::one())=0
Define the form of the scaling for the residual.
Traits class which defines basic operations on multivectors.
virtual Teuchos::RCP< MV > getSolution()=0
Returns the current solution estimate that was computed for the most recent residual test...
virtual int setShowMaxResNormOnly(bool showMaxResNormOnly)=0
Set whether the only maximum residual norm is displayed when the print() method is called...
virtual bool getShowMaxResNormOnly()=0
Returns whether the only maximum residual norm is displayed when the print() method is called...
Class which describes the linear problem to be solved by the iterative solver.
virtual const std::vector< MagnitudeType > * getTestValue() const =0
Returns the test value, , computed in most recent call to CheckStatus.
NormType
The type of vector norm to compute.
Definition: BelosTypes.hpp:65
Teuchos::ScalarTraits< ScalarType > SCT
virtual bool getLOADetected() const =0
Returns a boolean indicating a loss of accuracy has been detected in computing the residual...
virtual int setTolerance(MagnitudeType tolerance)=0
Set the value of the tolerance.
MultiVecTraits< ScalarType, MV > MVT

Generated on Thu Oct 24 2024 09:25:34 for Belos by doxygen 1.8.5