Belos
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
BelosStatusTestResNorm.hpp
Go to the documentation of this file.
1
//@HEADER
2
// ************************************************************************
3
//
4
// Belos: Block Linear Solvers Package
5
// Copyright 2004 Sandia Corporation
6
//
7
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8
// the U.S. Government retains certain rights in this software.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
38
//
39
// ************************************************************************
40
//@HEADER
41
42
#ifndef BELOS_STATUS_TEST_RESNORM_H
43
#define BELOS_STATUS_TEST_RESNORM_H
44
49
50
#include "
BelosStatusTest.hpp
"
51
#include "
BelosLinearProblem.hpp
"
52
#include "
BelosMultiVecTraits.hpp
"
53
58
59
namespace
Belos
{
60
61
template
<
class
ScalarType,
class
MV,
class
OP>
62
class
StatusTestResNorm
:
public
StatusTest
<ScalarType,MV,OP> {
63
64
public
:
65
66
// Convenience typedefs
67
typedef
Teuchos::ScalarTraits<ScalarType>
SCT
;
68
typedef
typename
SCT::magnitudeType
MagnitudeType
;
69
typedef
MultiVecTraits<ScalarType,MV>
MVT
;
70
72
73
75
78
virtual
int
setTolerance
(
MagnitudeType
tolerance) = 0;
79
82
virtual
int
setQuorum
(
int
quorum) = 0;
83
85
virtual
int
setShowMaxResNormOnly
(
bool
showMaxResNormOnly) = 0;
86
88
virtual
int
defineScaleForm
(
ScaleType
TypeOfScaling,
NormType
TypeOfNorm,
MagnitudeType
ScaleValue = Teuchos::ScalarTraits<MagnitudeType>::one()) = 0;
89
91
93
94
97
virtual
int
getQuorum
()
const
= 0;
98
100
virtual
bool
getShowMaxResNormOnly
() = 0;
101
103
virtual
std::vector<int>
convIndices
() = 0;
104
106
virtual
MagnitudeType
getTolerance
()
const
= 0;
107
109
virtual
const
std::vector<MagnitudeType>*
getTestValue
()
const
= 0;
110
113
virtual
Teuchos::RCP<MV>
getSolution
() = 0;
114
116
virtual
bool
getLOADetected
()
const
= 0;
117
119
120
};
121
122
}
// end namespace Belos
123
124
#endif
/* BELOS_STATUS_TEST_RESNORM_H */
BelosLinearProblem.hpp
Class which describes the linear problem to be solved by the iterative solver.
BelosMultiVecTraits.hpp
Declaration of basic traits for the multivector type.
BelosStatusTest.hpp
Pure virtual base class for defining the status testing capabilities of Belos.
Belos::MultiVecTraits
Traits class which defines basic operations on multivectors.
Definition
BelosMultiVecTraits.hpp:129
Belos::StatusTestResNorm
An abstract class of StatusTest for stopping criteria using residual norms.
Definition
BelosStatusTestResNorm.hpp:62
Belos::StatusTestResNorm::SCT
Teuchos::ScalarTraits< ScalarType > SCT
Definition
BelosStatusTestResNorm.hpp:67
Belos::StatusTestResNorm::getTestValue
virtual const std::vector< MagnitudeType > * getTestValue() const =0
Returns the test value, , computed in most recent call to CheckStatus.
Belos::StatusTestResNorm::MagnitudeType
SCT::magnitudeType MagnitudeType
Definition
BelosStatusTestResNorm.hpp:68
Belos::StatusTestResNorm::defineScaleForm
virtual int defineScaleForm(ScaleType TypeOfScaling, NormType TypeOfNorm, MagnitudeType ScaleValue=Teuchos::ScalarTraits< MagnitudeType >::one())=0
Define the form of the scaling for the residual.
Belos::StatusTestResNorm::getTolerance
virtual MagnitudeType getTolerance() const =0
Returns the value of the tolerance, , set in the constructor.
Belos::StatusTestResNorm::getShowMaxResNormOnly
virtual bool getShowMaxResNormOnly()=0
Returns whether the only maximum residual norm is displayed when the print() method is called.
Belos::StatusTestResNorm::getLOADetected
virtual bool getLOADetected() const =0
Returns a boolean indicating a loss of accuracy has been detected in computing the residual.
Belos::StatusTestResNorm::getQuorum
virtual int getQuorum() const =0
Belos::StatusTestResNorm::setQuorum
virtual int setQuorum(int quorum)=0
Belos::StatusTestResNorm::setShowMaxResNormOnly
virtual int setShowMaxResNormOnly(bool showMaxResNormOnly)=0
Set whether the only maximum residual norm is displayed when the print() method is called.
Belos::StatusTestResNorm::setTolerance
virtual int setTolerance(MagnitudeType tolerance)=0
Set the value of the tolerance.
Belos::StatusTestResNorm::getSolution
virtual Teuchos::RCP< MV > getSolution()=0
Belos::StatusTestResNorm::MVT
MultiVecTraits< ScalarType, MV > MVT
Definition
BelosStatusTestResNorm.hpp:69
Belos::StatusTestResNorm::convIndices
virtual std::vector< int > convIndices()=0
Returns the std::vector containing the indices of the residuals that passed the test.
Belos::StatusTest::StatusTest
StatusTest()
Constructor.
Definition
BelosStatusTest.hpp:86
Belos
Definition
Belos_Details_EBelosSolverType.cpp:45
Belos::NormType
NormType
The type of vector norm to compute.
Definition
BelosTypes.hpp:97
Belos::ScaleType
ScaleType
The type of scaling to use on the residual norm value.
Definition
BelosTypes.hpp:120
Generated for Belos by
1.17.0