9 #ifndef Tempus_SolutionStateMetaData_impl_hpp
10 #define Tempus_SolutionStateMetaData_impl_hpp
14 template <
class Scalar>
26 nConsecutiveFailures_(0),
37 isInterpolated_(false),
42 template <
class Scalar>
44 const Scalar time,
const int iStep,
const Scalar dt,
const Scalar errorAbs,
45 const Scalar errorRel,
const Scalar errorRelNm1,
const Scalar errorRelNm2,
46 const int order,
const int nFailures,
const int nRunningFailures,
47 const int nConsecutiveFailures,
const Scalar tolRel,
const Scalar tolAbs,
48 const Scalar xNormL2,
const Scalar dxNormL2Rel,
const Scalar dxNormL2Abs,
49 const bool computeNorms,
const Status solutionStatus,
const bool output,
50 const bool outputScreen,
const bool isSynced,
const bool isInterpolated,
51 const Scalar accuracy)
57 errorRelNm1_(errorRelNm1),
58 errorRelNm2_(errorRelNm2),
60 nFailures_(nFailures),
61 nRunningFailures_(nRunningFailures),
62 nConsecutiveFailures_(nConsecutiveFailures),
66 dxNormL2Rel_(dxNormL2Rel),
67 dxNormL2Abs_(dxNormL2Abs),
68 computeNorms_(computeNorms),
69 solutionStatus_(solutionStatus),
71 outputScreen_(outputScreen),
73 isInterpolated_(isInterpolated),
78 template <
class Scalar>
84 errorAbs_(ssmd.errorAbs_),
85 errorRel_(ssmd.errorRel_),
86 errorRelNm1_(ssmd.errorRelNm1_),
87 errorRelNm2_(ssmd.errorRelNm2_),
89 nFailures_(ssmd.nFailures_),
90 nRunningFailures_(ssmd.nRunningFailures_),
91 nConsecutiveFailures_(ssmd.nConsecutiveFailures_),
92 tolRel_(ssmd.tolRel_),
93 tolAbs_(ssmd.tolAbs_),
94 dxNormL2Rel_(ssmd.dxNormL2Rel_),
95 dxNormL2Abs_(ssmd.dxNormL2Abs_),
96 computeNorms_(ssmd.computeNorms_),
97 solutionStatus_(ssmd.solutionStatus_),
98 output_(ssmd.output_),
99 outputScreen_(ssmd.outputScreen_),
100 isSynced_(ssmd.isSynced_),
101 isInterpolated_(ssmd.isInterpolated_),
102 accuracy_(ssmd.accuracy_)
106 template <
class Scalar>
112 time_, iStep_, dt_, errorAbs_, errorRel_, errorRelNm1_, errorRelNm2_,
113 order_, nFailures_, nRunningFailures_, nConsecutiveFailures_, tolRel_,
114 tolAbs_, xNormL2_, dxNormL2Rel_, dxNormL2Abs_, computeNorms_,
115 solutionStatus_, output_, outputScreen_, isSynced_, isInterpolated_,
121 template <
class Scalar>
126 iStep_ = ssmd->iStep_;
128 errorAbs_ = ssmd->errorAbs_;
129 errorRel_ = ssmd->errorRel_;
130 errorRelNm1_ = ssmd->errorRelNm1_;
131 errorRelNm2_ = ssmd->errorRelNm2_;
132 order_ = ssmd->order_;
133 nFailures_ = ssmd->nFailures_;
134 nRunningFailures_ = ssmd->nRunningFailures_;
135 nConsecutiveFailures_ = ssmd->nConsecutiveFailures_;
136 tolRel_ = ssmd->tolRel_, tolAbs_ = ssmd->tolAbs_, xNormL2_ = ssmd->xNormL2_,
137 dxNormL2Rel_ = ssmd->dxNormL2Rel_, dxNormL2Abs_ = ssmd->dxNormL2Abs_,
138 computeNorms_ = ssmd->computeNorms_, solutionStatus_ = ssmd->solutionStatus_;
139 output_ = ssmd->output_;
140 outputScreen_ = ssmd->outputScreen_;
141 isSynced_ = ssmd->isSynced_;
142 isInterpolated_ = ssmd->isInterpolated_;
143 accuracy_ = ssmd->accuracy_;
146 template <
class Scalar>
149 std::string name =
"Tempus::SolutionStateMetaData";
153 template <
class Scalar>
157 auto l_out = Teuchos::fancyOStream(out.
getOStream());
159 l_out->setOutputToRootOnly(0);
161 *l_out <<
"\n--- " << this->description() <<
" ---" << std::endl;
164 *l_out <<
" time = " << time_ << std::endl
165 <<
" iStep = " << iStep_ << std::endl
166 <<
" dt = " << dt_ << std::endl
167 <<
" errorAbs = " << errorAbs_ << std::endl
168 <<
" errorRel = " << errorRel_ << std::endl
169 <<
" errorRelNm1 = " << errorRelNm1_ << std::endl
170 <<
" errorRelNm2 = " << errorRelNm2_ << std::endl
171 <<
" order = " << order_ << std::endl
172 <<
" nFailures = " << nFailures_ << std::endl
173 <<
" nRunningFailures = " << nRunningFailures_ << std::endl
174 <<
" nConsecutiveFailures = " << nConsecutiveFailures_ << std::endl
175 <<
" tolRel = " << tolRel_ << std::endl
176 <<
" tolAbs = " << tolAbs_ << std::endl
177 <<
" xNormL2 = " << xNormL2_ << std::endl
178 <<
" dxNormL2Rel = " << dxNormL2Rel_ << std::endl
179 <<
" dxNormL2Abs = " << dxNormL2Abs_ << std::endl
180 <<
" computeNorms = " << computeNorms_ << std::endl
181 <<
" solutionStatus = " <<
toString(solutionStatus_) << std::endl
182 <<
" output = " << output_ << std::endl
183 <<
" outputScreen = " << outputScreen_ << std::endl
184 <<
" isSynced = " << isSynced_ << std::endl
185 <<
" isInterpolated = " << isInterpolated_ << std::endl
186 <<
" accuracy = " << accuracy_ << std::endl;
188 *l_out << std::string(this->description().length() + 8,
'-') << std::endl;
192 #endif // Tempus_SolutionStateMetaData_impl_hpp
const std::string toString(const Status status)
Convert Status to string.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Status
Status for the Integrator, the Stepper and the SolutionState.
RCP< std::basic_ostream< char_type, traits_type > > getOStream()