Belos Version of the Day
Loading...
Searching...
No Matches
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"
21
27namespace Belos {
28
29template <class ScalarType, class MV, class OP>
30class StatusTestResNorm: public StatusTest<ScalarType,MV,OP> {
31
32 public:
33
34 // Convenience typedefs
35 typedef Teuchos::ScalarTraits<ScalarType> SCT;
36 typedef typename SCT::magnitudeType MagnitudeType;
38
40
41
43
47
50 virtual int setQuorum(int quorum) = 0;
51
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 */
Class which describes the linear problem to be solved by the iterative solver.
Declaration of basic traits for the multivector type.
Pure virtual base class for defining the status testing capabilities of Belos.
Alternative run-time polymorphic interface for operators.
An abstract class of StatusTest for stopping criteria using residual norms.
Teuchos::ScalarTraits< ScalarType > SCT
virtual const std::vector< MagnitudeType > * getTestValue() const =0
Returns the test value, , computed in most recent call to CheckStatus.
virtual int defineScaleForm(ScaleType TypeOfScaling, NormType TypeOfNorm, MagnitudeType ScaleValue=Teuchos::ScalarTraits< MagnitudeType >::one())=0
Define the form of the scaling for the residual.
virtual MagnitudeType getTolerance() const =0
Returns the value of the tolerance, , set in the constructor.
virtual bool getShowMaxResNormOnly()=0
Returns whether the only maximum residual norm is displayed when the print() method is called.
virtual bool getLOADetected() const =0
Returns a boolean indicating a loss of accuracy has been detected in computing the residual.
virtual int getQuorum() const =0
Returns the number of residuals that must pass the convergence test before Passed is returned.
virtual int setQuorum(int quorum)=0
Sets the number of residuals that must pass the convergence test before Passed is returned.
virtual int setShowMaxResNormOnly(bool showMaxResNormOnly)=0
Set whether the only maximum residual norm is displayed when the print() method is called.
virtual int setTolerance(MagnitudeType tolerance)=0
Set the value of the tolerance.
virtual Teuchos::RCP< MV > getSolution()=0
Returns the current solution estimate that was computed for the most recent residual test.
MultiVecTraits< ScalarType, MV > MVT
virtual std::vector< int > convIndices()=0
Returns the std::vector containing the indices of the residuals that passed the test.
A pure virtual class for defining the status tests for the Belos iterative solvers.
NormType
The type of vector norm to compute.
ScaleType
The type of scaling to use on the residual norm value.

Generated for Belos by doxygen 1.9.8