Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Tempus_SolutionStateMetaData_impl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ****************************************************************************
3
// Tempus: Copyright (2017) Sandia Corporation
4
//
5
// Distributed under BSD 3-clause license (See accompanying file Copyright.txt)
6
// ****************************************************************************
7
// @HEADER
8
9
#ifndef Tempus_SolutionStateMetaData_impl_hpp
10
#define Tempus_SolutionStateMetaData_impl_hpp
11
12
13
namespace
Tempus
{
14
15
16
template
<
class
Scalar>
17
SolutionStateMetaData<Scalar>::SolutionStateMetaData
()
18
:
time_
(0.0),
19
iStep_
(0),
20
dt_
(0.0),
21
errorAbs_
(0.0),
22
errorRel_
(0.0),
23
errorRelNm1_
(0.0),
24
errorRelNm2_
(0.0),
25
order_
(1),
26
nFailures_
(0),
27
nRunningFailures_
(0),
28
nConsecutiveFailures_
(0),
29
tolRel_
(1.0e-02),
30
tolAbs_
(0.0),
31
xNormL2_
(0.0),
32
dxNormL2Rel_
(0.0),
33
dxNormL2Abs_
(0.0),
34
computeNorms_
(false),
35
solutionStatus_
(
WORKING
),
36
output_
(false),
37
outputScreen_
(false),
38
isSynced_
(true),
39
isInterpolated_
(false),
40
accuracy_
(0.0)
41
{}
42
43
template
<
class
Scalar>
44
SolutionStateMetaData<Scalar>::SolutionStateMetaData
(
45
const
Scalar time,
46
const
int
iStep,
47
const
Scalar dt,
48
const
Scalar errorAbs,
49
const
Scalar errorRel,
50
const
Scalar errorRelNm1,
51
const
Scalar errorRelNm2,
52
const
int
order,
53
const
int
nFailures,
54
const
int
nRunningFailures,
55
const
int
nConsecutiveFailures,
56
const
Scalar tolRel,
57
const
Scalar tolAbs,
58
const
Scalar xNormL2,
59
const
Scalar dxNormL2Rel,
60
const
Scalar dxNormL2Abs,
61
const
bool
computeNorms,
62
const
Status
solutionStatus,
63
const
bool
output,
64
const
bool
outputScreen,
65
const
bool
isSynced,
66
const
bool
isInterpolated,
67
const
Scalar accuracy)
68
:
time_
(time),
69
iStep_
(iStep),
70
dt_
(dt),
71
errorAbs_
(errorAbs),
72
errorRel_
(errorRel),
73
errorRelNm1_
(errorRelNm1),
74
errorRelNm2_
(errorRelNm2),
75
order_
(order),
76
nFailures_
(nFailures),
77
nRunningFailures_
(nRunningFailures),
78
nConsecutiveFailures_
(nConsecutiveFailures),
79
tolRel_
(tolRel),
80
tolAbs_
(tolAbs),
81
xNormL2_
(xNormL2),
82
dxNormL2Rel_
(dxNormL2Rel),
83
dxNormL2Abs_
(dxNormL2Abs),
84
computeNorms_
(computeNorms),
85
solutionStatus_
(solutionStatus),
86
output_
(output),
87
outputScreen_
(outputScreen),
88
isSynced_
(isSynced),
89
isInterpolated_
(isInterpolated),
90
accuracy_
(accuracy)
91
{}
92
93
template
<
class
Scalar>
94
SolutionStateMetaData<Scalar>::SolutionStateMetaData
(
const
SolutionStateMetaData<Scalar>
& ssmd)
95
:
time_
(ssmd.
time_
),
96
iStep_
(ssmd.
iStep_
),
97
dt_
(ssmd.
dt_
),
98
errorAbs_
(ssmd.
errorAbs_
),
99
errorRel_
(ssmd.
errorRel_
),
100
errorRelNm1_
(ssmd.
errorRelNm1_
),
101
errorRelNm2_
(ssmd.
errorRelNm2_
),
102
order_
(ssmd.
order_
),
103
nFailures_
(ssmd.
nFailures_
),
104
nRunningFailures_
(ssmd.
nRunningFailures_
),
105
nConsecutiveFailures_
(ssmd.
nConsecutiveFailures_
),
106
tolRel_
(ssmd.
tolRel_
),
107
tolAbs_
(ssmd.
tolAbs_
),
108
dxNormL2Rel_
(ssmd.
dxNormL2Rel_
),
109
dxNormL2Abs_
(ssmd.
dxNormL2Abs_
),
110
computeNorms_
(ssmd.
computeNorms_
),
111
solutionStatus_
(ssmd.
solutionStatus_
),
112
output_
(ssmd.
output_
),
113
outputScreen_
(ssmd.
outputScreen_
),
114
isSynced_
(ssmd.
isSynced_
),
115
isInterpolated_
(ssmd.
isInterpolated_
),
116
accuracy_
(ssmd.
accuracy_
)
117
{}
118
119
120
template
<
class
Scalar>
121
Teuchos::RCP<SolutionStateMetaData<Scalar> >
SolutionStateMetaData<Scalar>::clone
()
const
122
{
123
Teuchos::RCP<SolutionStateMetaData<Scalar> > md =
124
rcp(
new
SolutionStateMetaData<Scalar>
(
125
time_
,
126
iStep_
,
127
dt_
,
128
errorAbs_
,
129
errorRel_
,
130
errorRelNm1_
,
131
errorRelNm2_
,
132
order_
,
133
nFailures_
,
134
nRunningFailures_
,
135
nConsecutiveFailures_
,
136
tolRel_
,
137
tolAbs_
,
138
xNormL2_
,
139
dxNormL2Rel_
,
140
dxNormL2Abs_
,
141
computeNorms_
,
142
solutionStatus_
,
143
output_
,
144
outputScreen_
,
145
isSynced_
,
146
isInterpolated_
,
147
accuracy_
));
148
149
return
md;
150
}
151
152
153
template
<
class
Scalar>
154
void
SolutionStateMetaData<Scalar>::
155
copy
(
const
Teuchos::RCP<
const
SolutionStateMetaData<Scalar>
>& ssmd)
156
{
157
time_
= ssmd->time_;
158
iStep_
= ssmd->iStep_;
159
dt_
= ssmd->dt_;
160
errorAbs_
= ssmd->errorAbs_;
161
errorRel_
= ssmd->errorRel_;
162
errorRelNm1_
= ssmd->errorRelNm1_;
163
errorRelNm2_
= ssmd->errorRelNm2_;
164
order_
= ssmd->order_;
165
nFailures_
= ssmd->nFailures_;
166
nRunningFailures_
= ssmd->nRunningFailures_;
167
nConsecutiveFailures_
= ssmd->nConsecutiveFailures_;
168
tolRel_
= ssmd->tolRel_,
169
tolAbs_
= ssmd->tolAbs_,
170
xNormL2_
= ssmd->xNormL2_,
171
dxNormL2Rel_
= ssmd->dxNormL2Rel_,
172
dxNormL2Abs_
= ssmd->dxNormL2Abs_,
173
computeNorms_
= ssmd->computeNorms_,
174
solutionStatus_
= ssmd->solutionStatus_;
175
output_
= ssmd->output_;
176
outputScreen_
= ssmd->outputScreen_;
177
isSynced_
= ssmd->isSynced_;
178
isInterpolated_
= ssmd->isInterpolated_;
179
accuracy_
= ssmd->accuracy_;
180
}
181
182
183
template
<
class
Scalar>
184
std::string
SolutionStateMetaData<Scalar>::description
()
const
185
{
186
std::string name =
"Tempus::SolutionStateMetaData"
;
187
return
(name);
188
}
189
190
191
template
<
class
Scalar>
192
void
SolutionStateMetaData<Scalar>::describe
(
193
Teuchos::FancyOStream &out,
194
const
Teuchos::EVerbosityLevel verbLevel)
const
195
{
196
auto
l_out = Teuchos::fancyOStream( out.getOStream() );
197
Teuchos::OSTab ostab(*l_out, 2, this->
description
());
198
l_out->setOutputToRootOnly(0);
199
200
*l_out <<
"\n--- "
<< this->
description
() <<
" ---"
<<std::endl;
201
202
if
(verbLevel >= Teuchos::VERB_MEDIUM) {
203
*l_out <<
" time = "
<<
time_
<< std::endl
204
<<
" iStep = "
<<
iStep_
<< std::endl
205
<<
" dt = "
<<
dt_
<< std::endl
206
<<
" errorAbs = "
<<
errorAbs_
<< std::endl
207
<<
" errorRel = "
<<
errorRel_
<< std::endl
208
<<
" errorRelNm1 = "
<<
errorRelNm1_
<< std::endl
209
<<
" errorRelNm2 = "
<<
errorRelNm2_
<< std::endl
210
<<
" order = "
<<
order_
<< std::endl
211
<<
" nFailures = "
<<
nFailures_
<< std::endl
212
<<
" nRunningFailures = "
<<
nRunningFailures_
<< std::endl
213
<<
" nConsecutiveFailures = "
<<
nConsecutiveFailures_
<< std::endl
214
<<
" tolRel = "
<<
tolRel_
<< std::endl
215
<<
" tolAbs = "
<<
tolAbs_
<< std::endl
216
<<
" xNormL2 = "
<<
xNormL2_
<< std::endl
217
<<
" dxNormL2Rel = "
<<
dxNormL2Rel_
<< std::endl
218
<<
" dxNormL2Abs = "
<<
dxNormL2Abs_
<< std::endl
219
<<
" computeNorms = "
<<
computeNorms_
<< std::endl
220
<<
" solutionStatus = "
<<
toString
(
solutionStatus_
) << std::endl
221
<<
" output = "
<<
output_
<< std::endl
222
<<
" outputScreen = "
<<
outputScreen_
<< std::endl
223
<<
" isSynced = "
<<
isSynced_
<< std::endl
224
<<
" isInterpolated = "
<<
isInterpolated_
<< std::endl
225
<<
" accuracy = "
<<
accuracy_
<< std::endl;
226
}
227
*l_out << std::string(this->
description
().length()+8,
'-'
) <<std::endl;
228
}
229
230
}
// namespace Tempus
231
#endif
// Tempus_SolutionStateMetaData_impl_hpp
Tempus::SolutionStateMetaData::clone
Teuchos::RCP< SolutionStateMetaData< Scalar > > clone() const
Clone constructor.
Definition
Tempus_SolutionStateMetaData_impl.hpp:121
Tempus::SolutionStateMetaData::errorRel_
Scalar errorRel_
Relative local truncation error (@ t_n).
Definition
Tempus_SolutionStateMetaData_decl.hpp:155
Tempus::SolutionStateMetaData::solutionStatus_
Status solutionStatus_
The solutionStatus is used to indicate.
Definition
Tempus_SolutionStateMetaData_decl.hpp:176
Tempus::SolutionStateMetaData::errorRelNm2_
Scalar errorRelNm2_
Relative local truncation error (@ t_{n-2}).
Definition
Tempus_SolutionStateMetaData_decl.hpp:157
Tempus::SolutionStateMetaData::description
virtual std::string description() const
Definition
Tempus_SolutionStateMetaData_impl.hpp:184
Tempus::SolutionStateMetaData::time_
Scalar time_
Time of solution.
Definition
Tempus_SolutionStateMetaData_decl.hpp:151
Tempus::SolutionStateMetaData::dxNormL2Abs_
Scalar dxNormL2Abs_
Absolute L2-Norm of the change in solution, ||x_i-x_{i-1}||.
Definition
Tempus_SolutionStateMetaData_decl.hpp:166
Tempus::SolutionStateMetaData::copy
void copy(const Teuchos::RCP< const SolutionStateMetaData< Scalar > > &ssmd)
This is a deep copy.
Definition
Tempus_SolutionStateMetaData_impl.hpp:155
Tempus::SolutionStateMetaData::isInterpolated_
bool isInterpolated_
F - soln is time integrated; T - soln is interpolated.
Definition
Tempus_SolutionStateMetaData_decl.hpp:184
Tempus::SolutionStateMetaData::accuracy_
Scalar accuracy_
Interpolation accuracy of solution.
Definition
Tempus_SolutionStateMetaData_decl.hpp:185
Tempus::SolutionStateMetaData::order_
Scalar order_
Order of this solution.
Definition
Tempus_SolutionStateMetaData_decl.hpp:158
Tempus::SolutionStateMetaData::iStep_
int iStep_
Time step index for this solution.
Definition
Tempus_SolutionStateMetaData_decl.hpp:152
Tempus::SolutionStateMetaData::isSynced_
bool isSynced_
True - all of soln (x, xDot, xDotDot) is at the same time level. False - solution is at different tim...
Definition
Tempus_SolutionStateMetaData_decl.hpp:183
Tempus::SolutionStateMetaData::dt_
Scalar dt_
Time step for this solution.
Definition
Tempus_SolutionStateMetaData_decl.hpp:153
Tempus::SolutionStateMetaData::tolAbs_
Scalar tolAbs_
Absolute tolerance.
Definition
Tempus_SolutionStateMetaData_decl.hpp:163
Tempus::SolutionStateMetaData::describe
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Definition
Tempus_SolutionStateMetaData_impl.hpp:192
Tempus::SolutionStateMetaData::nRunningFailures_
int nRunningFailures_
Total number of running stepper failures.
Definition
Tempus_SolutionStateMetaData_decl.hpp:160
Tempus::SolutionStateMetaData::errorAbs_
Scalar errorAbs_
Absolute local truncation error (@ t_n).
Definition
Tempus_SolutionStateMetaData_decl.hpp:154
Tempus::SolutionStateMetaData::outputScreen_
bool outputScreen_
Output screen dump.
Definition
Tempus_SolutionStateMetaData_decl.hpp:178
Tempus::SolutionStateMetaData::nConsecutiveFailures_
int nConsecutiveFailures_
Consecutive number of stepper failures.
Definition
Tempus_SolutionStateMetaData_decl.hpp:161
Tempus::SolutionStateMetaData::dxNormL2Rel_
Scalar dxNormL2Rel_
Relative L2-Norm of the change in solution, ||x_i-x_{i-1}||/||x_{i-1}||.
Definition
Tempus_SolutionStateMetaData_decl.hpp:165
Tempus::SolutionStateMetaData::SolutionStateMetaData
SolutionStateMetaData()
Default constructor.
Definition
Tempus_SolutionStateMetaData_impl.hpp:17
Tempus::SolutionStateMetaData::xNormL2_
Scalar xNormL2_
L2-Norm of the solution.
Definition
Tempus_SolutionStateMetaData_decl.hpp:164
Tempus::SolutionStateMetaData::computeNorms_
bool computeNorms_
flag to compute norms of solution
Definition
Tempus_SolutionStateMetaData_decl.hpp:167
Tempus::SolutionStateMetaData::output_
bool output_
SolutionState should be or has been outputted.
Definition
Tempus_SolutionStateMetaData_decl.hpp:177
Tempus::SolutionStateMetaData::errorRelNm1_
Scalar errorRelNm1_
Relative local truncation error (@ t_{n-1}).
Definition
Tempus_SolutionStateMetaData_decl.hpp:156
Tempus::SolutionStateMetaData::nFailures_
int nFailures_
Total number of stepper failures.
Definition
Tempus_SolutionStateMetaData_decl.hpp:159
Tempus::SolutionStateMetaData::tolRel_
Scalar tolRel_
Relative tolerance.
Definition
Tempus_SolutionStateMetaData_decl.hpp:162
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Tempus::Status
Status
Status for the Integrator, the Stepper and the SolutionState.
Definition
Tempus_Types.hpp:19
Tempus::WORKING
@ WORKING
Definition
Tempus_Types.hpp:22
Tempus::toString
const std::string toString(const Status status)
Convert Status to string.
Definition
Tempus_Types.hpp:28
Generated by
1.17.0