9 #ifndef Tempus_SolutionStateMetaData_impl_hpp
10 #define Tempus_SolutionStateMetaData_impl_hpp
12 #include "Tempus_config.hpp"
17 template<
class Scalar>
27 nConsecutiveFailures_(0),
33 computeNorms_ (false),
36 outputScreen_ (false),
38 isInterpolated_(false),
42 template<
class Scalar>
47 const Scalar errorAbs,
48 const Scalar errorRel,
51 const int nRunningFailures,
52 const int nConsecutiveFailures,
56 const Scalar dxNormL2Rel,
57 const Scalar dxNormL2Abs,
58 const bool computeNorms,
59 const Status solutionStatus,
61 const bool outputScreen,
63 const bool isInterpolated,
64 const Scalar accuracy)
71 nFailures_ (nFailures),
72 nRunningFailures_(nRunningFailures),
73 nConsecutiveFailures_(nConsecutiveFailures),
77 dxNormL2Rel_ (dxNormL2Rel),
78 dxNormL2Abs_ (dxNormL2Abs),
79 computeNorms_ (computeNorms),
80 solutionStatus_(solutionStatus),
82 outputScreen_ (outputScreen),
84 isInterpolated_(isInterpolated),
88 template<
class Scalar>
93 errorAbs_ (ssmd.errorAbs_),
94 errorRel_ (ssmd.errorRel_),
96 nFailures_ (ssmd.nFailures_),
97 nRunningFailures_(ssmd.nRunningFailures_),
98 nConsecutiveFailures_(ssmd.nConsecutiveFailures_),
99 tolRel_ (ssmd.tolRel_),
100 tolAbs_ (ssmd.tolAbs_),
101 dxNormL2Rel_ (ssmd.dxNormL2Rel_),
102 dxNormL2Abs_ (ssmd.dxNormL2Abs_),
103 computeNorms_ (ssmd.computeNorms_),
104 solutionStatus_(ssmd.solutionStatus_),
105 output_ (ssmd.output_),
106 outputScreen_ (ssmd.outputScreen_),
107 isSynced_ (ssmd.isSynced_),
108 isInterpolated_(ssmd.isInterpolated_),
109 accuracy_ (ssmd.accuracy_)
113 template<
class Scalar>
116 Teuchos::RCP<SolutionStateMetaData<Scalar> > md =
126 nConsecutiveFailures_,
144 template<
class Scalar>
149 iStep_ = ssmd->iStep_;
151 errorAbs_ = ssmd->errorAbs_;
152 errorRel_ = ssmd->errorRel_;
153 order_ = ssmd->order_;
154 nFailures_ = ssmd->nFailures_;
155 nRunningFailures_= ssmd->nRunningFailures_;
156 nConsecutiveFailures_ = ssmd->nConsecutiveFailures_;
157 tolRel_ = ssmd->tolRel_,
158 tolAbs_ = ssmd->tolAbs_,
159 xNormL2_ = ssmd->xNormL2_,
160 dxNormL2Rel_ = ssmd->dxNormL2Rel_,
161 dxNormL2Abs_ = ssmd->dxNormL2Abs_,
162 computeNorms_ = ssmd->computeNorms_,
163 solutionStatus_ = ssmd->solutionStatus_;
164 output_ = ssmd->output_;
165 outputScreen_ = ssmd->outputScreen_;
166 isSynced_ = ssmd->isSynced_;
167 isInterpolated_ = ssmd->isInterpolated_;
168 accuracy_ = ssmd->accuracy_;
172 template<
class Scalar>
175 std::string name =
"Tempus::SolutionStateMetaData";
180 template<
class Scalar>
182 Teuchos::FancyOStream &out,
183 const Teuchos::EVerbosityLevel verbLevel)
const
185 if (verbLevel == Teuchos::VERB_EXTREME) {
186 out << description() <<
"::describe:" << std::endl
187 <<
"time = " << time_ << std::endl
188 <<
"iStep = " << iStep_ << std::endl
189 <<
"dt = " << dt_ << std::endl
190 <<
"errorAbs = " << errorAbs_ << std::endl
191 <<
"errorRel = " << errorRel_ << std::endl
192 <<
"order = " << order_ << std::endl
193 <<
"nFailures = " << nFailures_ << std::endl
194 <<
"nRunningFailures = " << nRunningFailures_<< std::endl
195 <<
"nConsecutiveFailures = " << nConsecutiveFailures_ << std::endl
196 <<
"tolRel = " << tolRel_ << std::endl
197 <<
"tolAbs = " << tolAbs_ << std::endl
198 <<
"xNormL2 = " << xNormL2_ << std::endl
199 <<
"dxNormL2Rel = " << dxNormL2Rel_ << std::endl
200 <<
"dxNormL2Abs = " << dxNormL2Abs_ << std::endl
201 <<
"computeNorms = " << computeNorms_ << std::endl
202 <<
"solutionStatus = " <<
toString(solutionStatus_) << std::endl
203 <<
"output = " << output_ << std::endl
204 <<
"outputScreen = " << outputScreen_ << std::endl
205 <<
"isSynced = " << isSynced_ << std::endl
206 <<
"isInterpolated = " << isInterpolated_ << std::endl
207 <<
"accuracy = " << accuracy_ << std::endl;
212 #endif // Tempus_SolutionStateMetaData_impl_hpp
const std::string toString(const Status status)
Convert Status to string.
Status
Status for the Integrator, the Stepper and the SolutionState.