Tempus  Version of the Day
Time Integration
Tempus_SolutionState_decl.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_SolutionState_decl_hpp
10 #define Tempus_SolutionState_decl_hpp
11 
12 // Teuchos
13 #include "Teuchos_VerboseObject.hpp"
14 #include "Teuchos_Describable.hpp"
15 // Thrya
16 #include "Thyra_VectorBase.hpp"
17 #include "Thyra_ModelEvaluator.hpp"
18 // Tempus
19 #include "Tempus_config.hpp"
20 #include "Tempus_SolutionStateMetaData.hpp"
21 #include "Tempus_StepperState.hpp"
22 #include "Tempus_PhysicsState.hpp"
23 
24 namespace Tempus {
25 
26 /** \brief Solution state for integrators and steppers.
27  * SolutionState contains the metadata for solutions and the solutions
28  * themselves.
29  *
30  * For simple time integration, the SolutionState is sufficient for
31  * checkpointing, restart and undo operations (i.e., it is the Memento
32  * object).
33  *
34  * For more complex time integration where the physics has additional
35  * state information or the time integrator is not a one-step method
36  * (i.e., can not accurately start from a single time step), this class
37  * can be inherited and the physics state or additional time-integration
38  * parameters can be managed.
39  *
40  * SolutionStates can be interpolated to generate solutions at various
41  * times (see SolutionHistory). However not all metadata or state
42  * information can be interpolated. Thus interpolated solutions may not
43  * be suitable for checkpointing, restart and undo operations, but may
44  * be useful for adjoint sensitivities.
45  *
46  * The solution vectors, \f$x\f$, \f$\dot{x}\f$, and \f$\ddot{x}\f$, in
47  * SolutionState can be null pointers. This indicates that the
48  * application does not need them, so do not storage them. This can be
49  * a huge savings when saving many states in the solution history.
50  * Some Steppers will need temporary memory to store time derivative(s)
51  * (\f$\dot{x}\f$, or \f$\ddot{x}\f$) for evaluation of the ODE/DAE
52  * (\f$f(x, \dot{x}, \ddot{x},t)\f$), but each individual Stepper will
53  * manage that.
54  */
55 template<class Scalar>
57  public Teuchos::Describable,
58  public Teuchos::VerboseObject<Tempus::SolutionState<Scalar> >
59 {
60 public:
61 
63  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& x,
64  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& xdot = Teuchos::null,
65  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& xddot = Teuchos::null,
66  const Teuchos::RCP<StepperState<Scalar> >& stepperState = Teuchos::null,
67  const Teuchos::RCP<PhysicsState<Scalar> >& physicsState = Teuchos::null);
68 
70  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& x,
71  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& xdot = Teuchos::null,
72  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& xddot= Teuchos::null,
73  const Teuchos::RCP<const StepperState<Scalar> >& stepperSt = Teuchos::null,
74  const Teuchos::RCP<const PhysicsState<Scalar> >& physicsSt = Teuchos::null);
75 
77  const Teuchos::RCP<SolutionStateMetaData<Scalar> > ssmd,
78  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& x,
79  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& xdot,
80  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& xdotdot,
81  const Teuchos::RCP<StepperState<Scalar> >& stepperState,
82  const Teuchos::RCP<PhysicsState<Scalar> >& physicsState = Teuchos::null);
83 
85  const Teuchos::RCP<const SolutionStateMetaData<Scalar> > ssmd,
86  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& x,
87  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& xdot,
88  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& xdotdot,
89  const Teuchos::RCP<const StepperState<Scalar> >& stepperState,
90  const Teuchos::RCP<const PhysicsState<Scalar> >& physicsState = Teuchos::null);
91 
93  const Scalar time,
94  const Scalar dt,
95  const int iStep,
96  const Scalar errorAbs,
97  const Scalar errorRel,
98  const int order,
99  const int nFailures,
100  const int nRunningFailures,
101  const int nConsecutiveFailures,
102  const Status solutionStatus,
103  const bool output,
104  const bool outputScreen,
105  const bool isSynced,
106  const bool isInterpolated,
107  const Scalar accuracy,
108  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& x,
109  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& xdot,
110  const Teuchos::RCP<Thyra::VectorBase<Scalar> >& xdotdot,
111  const Teuchos::RCP<StepperState<Scalar> >& stepperState = Teuchos::null,
112  const Teuchos::RCP<PhysicsState<Scalar> >& physicsState = Teuchos::null);
113 
115  const Scalar time,
116  const Scalar dt,
117  const int iStep,
118  const Scalar errorAbs,
119  const Scalar errorRel,
120  const int order,
121  const int nFailures,
122  const int nRunningFailures,
123  const int nConsecutiveFailures,
124  const Status solutionStatus,
125  const bool output,
126  const bool outputScreen,
127  const bool isSynced,
128  const bool isInterpolated,
129  const Scalar accuracy,
130  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& x,
131  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& xdot,
132  const Teuchos::RCP<const Thyra::VectorBase<Scalar> >& xdotdot,
133  const Teuchos::RCP<const StepperState<Scalar> >& stepperSt = Teuchos::null,
134  const Teuchos::RCP<const PhysicsState<Scalar> >& physicsSt = Teuchos::null);
135 
137  const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model,
138  const Teuchos::RCP<StepperState<Scalar> >& stepperState = Teuchos::null,
139  const Teuchos::RCP<PhysicsState<Scalar> >& physicsState = Teuchos::null);
140 
141  /// This is a shallow copy constructor, use clone for a deep copy constructor
143 
144  /// This is a deep copy constructor
145  virtual Teuchos::RCP<SolutionState<Scalar> > clone() const;
146 
147  /// This is a deep copy
148  virtual void copy(const Teuchos::RCP<const SolutionState<Scalar> >& ss);
149 
150  /// Deep copy solution data, but keep metaData untouched.
151  virtual void copySolutionData(
152  const Teuchos::RCP<const SolutionState<Scalar> >& s);
153 
154  /// Swap solution data, but keep metaData untouched.
155  virtual void swapSolutionData(
156  const Teuchos::RCP<SolutionState<Scalar> >& ss);
157 
158  /// Destructor
159  virtual ~SolutionState() {}
160 
161  /// \name Get MetaData values
162  //@{
163  virtual Teuchos::RCP<const SolutionStateMetaData<Scalar> >
164  getMetaData() const { return metaData_; }
165  virtual Teuchos::RCP<SolutionStateMetaData<Scalar> > getMetaData()
166  { TEUCHOS_ASSERT(metaData_nc_ != Teuchos::null);
167  return metaData_nc_; }
168 
169  virtual Scalar getTime() const {return metaData_->getTime();}
170  virtual Scalar getIndex() const {return metaData_->getIStep();}
171  virtual Scalar getTimeStep() const {return metaData_->getDt();}
172  virtual Scalar getOrder() const {return metaData_->getOrder();}
173  virtual Status getSolutionStatus() const
174  { return metaData_->getSolutionStatus(); }
175  virtual bool getOutput() const {return metaData_->getOutput();}
176  virtual bool getIsSynced() const {return metaData_->getIsSynced();}
177  //@}
178 
179  /// \name Set MetaData values
180  //@{
181  virtual void setMetaData(
182  Teuchos::RCP<const SolutionStateMetaData<Scalar> > md)
183  { metaData_ = md; metaData_nc_ = Teuchos::null; }
184  virtual void setMetaData(Teuchos::RCP<SolutionStateMetaData<Scalar> > md)
185  { metaData_nc_ = md; metaData_ = metaData_nc_; }
186 
187  virtual void setTime(Scalar time) {metaData_nc_->setTime(time);}
188  virtual void setIndex(Scalar index) {metaData_nc_->setIStep(index);}
189  virtual void setTimeStep(Scalar dt) {metaData_nc_->setDt(dt);}
190  virtual void setOrder(Scalar order)
191  { TEUCHOS_ASSERT(metaData_nc_ != Teuchos::null);
192  metaData_nc_->setOrder(order); }
193  virtual void setSolutionStatus(Status s)
194  { return metaData_nc_->setSolutionStatus(s); }
195  virtual void setOutput(bool output)
196  { TEUCHOS_ASSERT(metaData_nc_ != Teuchos::null);
197  metaData_nc_->setOutput(output); }
198  virtual void setIsSynced(bool isSynced)
199  { TEUCHOS_ASSERT(metaData_nc_ != Teuchos::null);
200  metaData_nc_->setIsSynced(isSynced); }
201  //@}
202 
203  /// \name Get State Data
204  //@{
205  virtual Teuchos::RCP<Thyra::VectorBase<Scalar> > getX()
206  { TEUCHOS_ASSERT(x_nc_ != Teuchos::null);
207  return x_nc_; }
208  virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> > getX() const
209  { return x_; }
210  virtual Teuchos::RCP<Thyra::VectorBase<Scalar> > getXDot()
211  { return xdot_nc_; }
212  virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> > getXDot() const
213  { return xdot_; }
214  virtual Teuchos::RCP<Thyra::VectorBase<Scalar> > getXDotDot()
215  { return xdotdot_nc_; }
216  virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> > getXDotDot() const
217  { return xdotdot_; }
218 
219  virtual Teuchos::RCP<StepperState<Scalar> > getStepperState()
220  { TEUCHOS_ASSERT(stepperState_nc_ != Teuchos::null);
221  return stepperState_nc_; }
222  virtual Teuchos::RCP<const StepperState<Scalar> > getStepperState() const
223  { return stepperState_; }
224 
225  virtual Teuchos::RCP<PhysicsState<Scalar> > getPhysicsState()
226  { return physicsState_nc_; }
227  virtual Teuchos::RCP<const PhysicsState<Scalar> > getPhysicsState() const
228  { return physicsState_; }
229  //@}
230 
231  /// \name Set State Data
232  //@{
233  virtual void setPhysicsState(const Teuchos::RCP<PhysicsState<Scalar> >& ps)
235  //@}
236 
237 
238  /// \name Comparison methods
239  //@{
240  /// Less than comparison for sorting based on time
241  bool operator< (const SolutionState<Scalar>& ss) const;
242 
243  /// Less than comparison for sorting based on time
244  bool operator<= (const SolutionState<Scalar>& ss) const;
245 
246  /// Less than comparison for sorting based on time
247  bool operator< (const Scalar& t) const;
248 
249  /// Less than comparison for sorting based on time
250  bool operator<= (const Scalar& t) const;
251 
252  /// Less than comparison for sorting based on time
253  bool operator> (const SolutionState<Scalar>& ss) const;
254 
255  /// Less than comparison for sorting based on time
256  bool operator>= (const SolutionState<Scalar>& ss) const;
257 
258  /// Less than comparison for sorting based on time
259  bool operator> (const Scalar& t) const;
260 
261  /// Less than comparison for sorting based on time
262  bool operator>= (const Scalar& t) const;
263 
264  /// Equality comparison for matching
265  bool operator== (const SolutionState<Scalar>& ss) const;
266 
267  /// Equality comparison for matching
268  bool operator== (const Scalar& t) const;
269  //@}
270 
271  /// \name Overridden from Teuchos::Describable
272  //@{
273  virtual std::string description() const;
274  virtual void describe(Teuchos::FancyOStream &out,
275  const Teuchos::EVerbosityLevel verbLevel) const;
276  //@}
277 
278 private:
279  // Member Data
280 
281  /// Meta Data for the solution state
282  Teuchos::RCP<const SolutionStateMetaData<Scalar> > metaData_;
283  Teuchos::RCP<SolutionStateMetaData<Scalar> > metaData_nc_;
284 
285  /// Solution
286  Teuchos::RCP<const Thyra::VectorBase<Scalar> > x_;
287  Teuchos::RCP<Thyra::VectorBase<Scalar> > x_nc_;
288 
289  /// Time derivative of the solution
290  Teuchos::RCP<const Thyra::VectorBase<Scalar> > xdot_;
291  Teuchos::RCP<Thyra::VectorBase<Scalar> > xdot_nc_;
292 
293  /// Second time derivative of the solution
294  Teuchos::RCP<const Thyra::VectorBase<Scalar> > xdotdot_;
295  Teuchos::RCP<Thyra::VectorBase<Scalar> > xdotdot_nc_;
296 
297  /// StepperState for this SolutionState
298  Teuchos::RCP<const Tempus::StepperState<Scalar> > stepperState_;
299  Teuchos::RCP<Tempus::StepperState<Scalar> > stepperState_nc_;
300 
301  /// PhysicsState for this SolutionState
302  Teuchos::RCP<const Tempus::PhysicsState<Scalar> > physicsState_;
303  Teuchos::RCP<Tempus::PhysicsState<Scalar> > physicsState_nc_;
304 
305 };
306 } // namespace Tempus
307 
308 #endif // Tempus_SolutionState_decl_hpp
Tempus::SolutionStateMetaData
Solution state meta data.
Definition: Tempus_SolutionStateMetaData_decl.hpp:24
Tempus::SolutionState::setOutput
virtual void setOutput(bool output)
Definition: Tempus_SolutionState_decl.hpp:195
Tempus::StepperState
StepperState is a simple class to hold state information about the stepper.
Definition: Tempus_StepperState.hpp:36
Tempus::SolutionState::swapSolutionData
virtual void swapSolutionData(const Teuchos::RCP< SolutionState< Scalar > > &ss)
Swap solution data, but keep metaData untouched.
Definition: Tempus_SolutionState_impl.hpp:388
Tempus::SolutionState::metaData_nc_
Teuchos::RCP< SolutionStateMetaData< Scalar > > metaData_nc_
Definition: Tempus_SolutionState_decl.hpp:283
Tempus::SolutionState::getX
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getX()
Definition: Tempus_SolutionState_decl.hpp:205
Tempus::SolutionState::clone
virtual Teuchos::RCP< SolutionState< Scalar > > clone() const
This is a deep copy constructor.
Definition: Tempus_SolutionState_impl.hpp:335
Tempus::SolutionState::getOrder
virtual Scalar getOrder() const
Definition: Tempus_SolutionState_decl.hpp:172
Tempus::SolutionState::stepperState_nc_
Teuchos::RCP< Tempus::StepperState< Scalar > > stepperState_nc_
Definition: Tempus_SolutionState_decl.hpp:299
Tempus::SolutionState::getPhysicsState
virtual Teuchos::RCP< const PhysicsState< Scalar > > getPhysicsState() const
Definition: Tempus_SolutionState_decl.hpp:227
Tempus::SolutionState::xdot_
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot_
Time derivative of the solution.
Definition: Tempus_SolutionState_decl.hpp:290
Tempus::SolutionState::physicsState_nc_
Teuchos::RCP< Tempus::PhysicsState< Scalar > > physicsState_nc_
Definition: Tempus_SolutionState_decl.hpp:303
Tempus::SolutionState::getSolutionStatus
virtual Status getSolutionStatus() const
Definition: Tempus_SolutionState_decl.hpp:173
Tempus::SolutionState::operator<
bool operator<(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
Definition: Tempus_SolutionState_impl.hpp:435
Tempus::SolutionState::getStepperState
virtual Teuchos::RCP< StepperState< Scalar > > getStepperState()
Definition: Tempus_SolutionState_decl.hpp:219
Tempus::SolutionState::getTime
virtual Scalar getTime() const
Definition: Tempus_SolutionState_decl.hpp:169
Tempus
Definition: Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:20
Tempus::SolutionState::xdot_nc_
Teuchos::RCP< Thyra::VectorBase< Scalar > > xdot_nc_
Definition: Tempus_SolutionState_decl.hpp:291
Tempus::SolutionState::operator<=
bool operator<=(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
Definition: Tempus_SolutionState_impl.hpp:441
Tempus::SolutionState::SolutionState
SolutionState(const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xdot=Teuchos::null, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xddot=Teuchos::null, const Teuchos::RCP< StepperState< Scalar > > &stepperState=Teuchos::null, const Teuchos::RCP< PhysicsState< Scalar > > &physicsState=Teuchos::null)
Definition: Tempus_SolutionState_impl.hpp:18
Tempus::SolutionState::getPhysicsState
virtual Teuchos::RCP< PhysicsState< Scalar > > getPhysicsState()
Definition: Tempus_SolutionState_decl.hpp:225
Tempus::SolutionState::stepperState_
Teuchos::RCP< const Tempus::StepperState< Scalar > > stepperState_
StepperState for this SolutionState.
Definition: Tempus_SolutionState_decl.hpp:298
Tempus::SolutionState::xdotdot_
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot_
Second time derivative of the solution.
Definition: Tempus_SolutionState_decl.hpp:294
Tempus::SolutionState::physicsState_
Teuchos::RCP< const Tempus::PhysicsState< Scalar > > physicsState_
PhysicsState for this SolutionState.
Definition: Tempus_SolutionState_decl.hpp:302
Tempus::SolutionState::setIsSynced
virtual void setIsSynced(bool isSynced)
Definition: Tempus_SolutionState_decl.hpp:198
Tempus::SolutionState::getXDotDot
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDotDot()
Definition: Tempus_SolutionState_decl.hpp:214
Tempus::SolutionState::operator>=
bool operator>=(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
Definition: Tempus_SolutionState_impl.hpp:465
Tempus::SolutionState::setTimeStep
virtual void setTimeStep(Scalar dt)
Definition: Tempus_SolutionState_decl.hpp:189
Tempus::SolutionState
Solution state for integrators and steppers. SolutionState contains the metadata for solutions and th...
Definition: Tempus_SolutionState_decl.hpp:56
Tempus::SolutionState::describe
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Definition: Tempus_SolutionState_impl.hpp:502
Tempus::SolutionState::getTimeStep
virtual Scalar getTimeStep() const
Definition: Tempus_SolutionState_decl.hpp:171
Tempus::SolutionState::setIndex
virtual void setIndex(Scalar index)
Definition: Tempus_SolutionState_decl.hpp:188
Tempus::SolutionState::x_nc_
Teuchos::RCP< Thyra::VectorBase< Scalar > > x_nc_
Definition: Tempus_SolutionState_decl.hpp:287
Tempus_StepperState.hpp
Tempus::SolutionState::xdotdot_nc_
Teuchos::RCP< Thyra::VectorBase< Scalar > > xdotdot_nc_
Definition: Tempus_SolutionState_decl.hpp:295
Tempus::SolutionState::getXDotDot
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDotDot() const
Definition: Tempus_SolutionState_decl.hpp:216
Tempus::SolutionState::copySolutionData
virtual void copySolutionData(const Teuchos::RCP< const SolutionState< Scalar > > &s)
Deep copy solution data, but keep metaData untouched.
Definition: Tempus_SolutionState_impl.hpp:375
Tempus::SolutionState::getMetaData
virtual Teuchos::RCP< SolutionStateMetaData< Scalar > > getMetaData()
Definition: Tempus_SolutionState_decl.hpp:165
Tempus::SolutionState::getIndex
virtual Scalar getIndex() const
Definition: Tempus_SolutionState_decl.hpp:170
Tempus::SolutionState::description
virtual std::string description() const
Definition: Tempus_SolutionState_impl.hpp:495
Tempus::SolutionState::getStepperState
virtual Teuchos::RCP< const StepperState< Scalar > > getStepperState() const
Definition: Tempus_SolutionState_decl.hpp:222
Tempus::SolutionState::setSolutionStatus
virtual void setSolutionStatus(Status s)
Definition: Tempus_SolutionState_decl.hpp:193
Tempus::SolutionState::setTime
virtual void setTime(Scalar time)
Definition: Tempus_SolutionState_decl.hpp:187
Tempus::SolutionState::getMetaData
virtual Teuchos::RCP< const SolutionStateMetaData< Scalar > > getMetaData() const
Definition: Tempus_SolutionState_decl.hpp:164
Tempus::SolutionState::getXDot
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDot() const
Definition: Tempus_SolutionState_decl.hpp:212
Tempus::SolutionState::operator>
bool operator>(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
Definition: Tempus_SolutionState_impl.hpp:459
Tempus::SolutionState::x_
Teuchos::RCP< const Thyra::VectorBase< Scalar > > x_
Solution.
Definition: Tempus_SolutionState_decl.hpp:286
Tempus::SolutionState::setMetaData
virtual void setMetaData(Teuchos::RCP< SolutionStateMetaData< Scalar > > md)
Definition: Tempus_SolutionState_decl.hpp:184
Tempus::SolutionState::getX
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getX() const
Definition: Tempus_SolutionState_decl.hpp:208
Tempus::SolutionState::copy
virtual void copy(const Teuchos::RCP< const SolutionState< Scalar > > &ss)
This is a deep copy.
Definition: Tempus_SolutionState_impl.hpp:366
Tempus::PhysicsState
PhysicsState is a simple class to hold information about the physics.
Definition: Tempus_PhysicsState_decl.hpp:36
Tempus::SolutionState::~SolutionState
virtual ~SolutionState()
Destructor.
Definition: Tempus_SolutionState_decl.hpp:159
Tempus::SolutionState::setPhysicsState
virtual void setPhysicsState(const Teuchos::RCP< PhysicsState< Scalar > > &ps)
Definition: Tempus_SolutionState_decl.hpp:233
Tempus::SolutionState::getOutput
virtual bool getOutput() const
Definition: Tempus_SolutionState_decl.hpp:175
Tempus::SolutionState::setMetaData
virtual void setMetaData(Teuchos::RCP< const SolutionStateMetaData< Scalar > > md)
Definition: Tempus_SolutionState_decl.hpp:181
Tempus::SolutionState::setOrder
virtual void setOrder(Scalar order)
Definition: Tempus_SolutionState_decl.hpp:190
Tempus::SolutionState::getXDot
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDot()
Definition: Tempus_SolutionState_decl.hpp:210
Tempus::Status
Status
Status for the Integrator, the Stepper and the SolutionState.
Definition: Tempus_Types.hpp:16
Tempus::SolutionState::operator==
bool operator==(const SolutionState< Scalar > &ss) const
Equality comparison for matching.
Definition: Tempus_SolutionState_impl.hpp:483
Tempus::SolutionState::metaData_
Teuchos::RCP< const SolutionStateMetaData< Scalar > > metaData_
Meta Data for the solution state.
Definition: Tempus_SolutionState_decl.hpp:282
Tempus::SolutionState::getIsSynced
virtual bool getIsSynced() const
Definition: Tempus_SolutionState_decl.hpp:176