Belos
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
BelosInnerSolveResult.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_InnerSolverResult_hpp
43
#define __Belos_InnerSolverResult_hpp
44
45
#include <
BelosTypes.hpp
>
// ReturnType
46
#include <map>
47
#include <string>
48
49
namespace
Belos
{
50
66
class
InnerSolveResult
{
67
public
:
85
InnerSolveResult
(
const
ReturnType
theResult,
86
const
int
theNumRestartCycles,
87
const
int
theTotalNumIters,
88
const
std::map<std::string, double>& theExtraData);
89
91
InnerSolveResult
(
const
ReturnType
theResult,
92
const
int
theNumRestartCycles,
93
const
int
theTotalNumIters);
94
101
ReturnType
result
() {
102
return
result_;
103
}
104
108
int
totalNumIters
()
const
{
109
return
totalNumIters_;
110
}
111
113
int
numRestartCycles
()
const
{
114
return
numRestartCycles_;
115
}
116
123
const
std::map<std::string, double>&
extraData
()
const
{
124
return
extraData_;
125
}
126
127
private
:
128
ReturnType
result_;
129
int
numRestartCycles_, totalNumIters_;
130
std::map<std::string, double> extraData_;
131
132
static
ReturnType
133
validatedReturnType (
const
ReturnType
ret);
134
135
static
int
136
requireNonNegInt (
const
int
k);
137
};
138
139
}
// namespace Belos
140
141
142
#endif
// __Belos_InnerSolverResult_hpp
BelosTypes.hpp
Collection of types and exceptions used within the Belos solvers.
Belos::InnerSolveResult::numRestartCycles
int numRestartCycles() const
Total number of restart cycles.
Definition
BelosInnerSolveResult.hpp:113
Belos::InnerSolveResult::totalNumIters
int totalNumIters() const
Total number of iterations completed over all restarts.
Definition
BelosInnerSolveResult.hpp:108
Belos::InnerSolveResult::result
ReturnType result()
Did the inner solve converge?
Definition
BelosInnerSolveResult.hpp:101
Belos::InnerSolveResult::InnerSolveResult
InnerSolveResult(const ReturnType theResult, const int theNumRestartCycles, const int theTotalNumIters, const std::map< std::string, double > &theExtraData)
Constructor.
Definition
BelosInnerSolveResult.cpp:47
Belos::InnerSolveResult::extraData
const std::map< std::string, double > & extraData() const
"Extra" data from the inner solve.
Definition
BelosInnerSolveResult.hpp:123
Belos
Definition
Belos_Details_EBelosSolverType.cpp:45
Belos::ReturnType
ReturnType
Whether the Belos solve converged for all linear systems.
Definition
BelosTypes.hpp:155
Generated for Belos by
1.17.0