Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Tempus_Test::SolutionState< Scalar > Class Template Reference

Solution state for integrators and steppers. More...

#include <Tempus_SolutionState_decl.hpp>

Inheritance diagram for Tempus_Test::SolutionState< Scalar >:

Public Member Functions

 SolutionState ()
 Default Constructor – Not meant for immediate adding to SolutionHistory. This constructor does not set the solution vectors, x, xdot and xdotdot. which should be set via setX(), setXDot(), and/or setXDotDot() prior to being added to SolutionHistory.
 SolutionState (const Teuchos::RCP< SolutionStateMetaData< Scalar > > ssmd, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xdot, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xdotdot, const Teuchos::RCP< StepperState< Scalar > > &stepperState, const Teuchos::RCP< PhysicsState< Scalar > > &physicsState)
 SolutionState (const Teuchos::RCP< const SolutionStateMetaData< Scalar > > ssmd, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &xdot, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &xdotdot, const Teuchos::RCP< const StepperState< Scalar > > &stepperState, const Teuchos::RCP< const PhysicsState< Scalar > > &physicsState)
 SolutionState (const SolutionState< Scalar > &ss)
 This is a shallow copy constructor, use clone for a deep copy constructor.
virtual Teuchos::RCP< SolutionState< Scalar > > clone () const
 This is a deep copy constructor.
virtual void copy (const Teuchos::RCP< const SolutionState< Scalar > > &ss)
 This is a deep copy.
virtual void copySolutionData (const Teuchos::RCP< const SolutionState< Scalar > > &s)
 Deep copy solution data, but keep metaData untouched.
virtual ~SolutionState ()
 Destructor.

Overridden from Teuchos::Describable

Teuchos::RCP< const SolutionStateMetaData< Scalar > > metaData_
 Meta Data for the solution state.
Teuchos::RCP< SolutionStateMetaData< Scalar > > metaData_nc_
Teuchos::RCP< const Thyra::VectorBase< Scalar > > x_
 Solution.
Teuchos::RCP< Thyra::VectorBase< Scalar > > x_nc_
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot_
 Time derivative of the solution.
Teuchos::RCP< Thyra::VectorBase< Scalar > > xdot_nc_
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot_
 Second time derivative of the solution.
Teuchos::RCP< Thyra::VectorBase< Scalar > > xdotdot_nc_
Teuchos::RCP< const StepperState< Scalar > > stepperState_
 StepperState for this SolutionState.
Teuchos::RCP< StepperState< Scalar > > stepperState_nc_
Teuchos::RCP< const PhysicsState< Scalar > > physicsState_
 PhysicsState for this SolutionState.
Teuchos::RCP< PhysicsState< Scalar > > physicsState_nc_
virtual std::string description () const
virtual void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
virtual void computeNorms (const Teuchos::RCP< const SolutionState< Scalar > > &ssIn=Teuchos::null)
 Compute the solution norms, and solution change from ssIn, if provided.

Get MetaData values

virtual Teuchos::RCP< const SolutionStateMetaData< Scalar > > getMetaData () const
virtual Teuchos::RCP< SolutionStateMetaData< Scalar > > getMetaData ()
virtual Scalar getTime () const
virtual int getIndex () const
virtual Scalar getTimeStep () const
virtual Scalar getErrorAbs () const
virtual Scalar getErrorRel () const
virtual Scalar getErrorRelNm1 () const
virtual Scalar getErrorRelNm2 () const
virtual int getOrder () const
virtual int getNFailures () const
virtual int getNRunningFailures () const
virtual int getNConsecutiveFailures () const
virtual Scalar getTolAbs () const
virtual Scalar getTolRel () const
virtual Scalar getXNormL2 () const
virtual Scalar getDxNormL2Abs () const
virtual Scalar getDxNormL2Rel () const
virtual bool getComputeNorms () const
virtual Status getSolutionStatus () const
virtual bool getOutput () const
virtual bool getOutputScreen () const
virtual bool getIsSynced () const
virtual bool getIsInterpolated () const
virtual bool getAccuracy () const

Set MetaData values

virtual void setMetaData (Teuchos::RCP< const SolutionStateMetaData< Scalar > > md)
virtual void setMetaData (Teuchos::RCP< SolutionStateMetaData< Scalar > > md)
virtual void setTime (Scalar time)
virtual void setIndex (Scalar index)
virtual void setTimeStep (Scalar dt)
virtual void setErrorAbs (Scalar errorAbs)
virtual void setErrorRel (Scalar errorRel)
virtual void setOrder (int order)
virtual void setNFailures (int nFailures)
virtual void setNRunningFailures (int nFailures)
virtual void setNConsecutiveFailures (int nConsecutiveFailures)
virtual void setTolRel (Scalar tolRel)
virtual void setTolAbs (Scalar tolAbs)
virtual void setXNormL2 (Scalar xNormL2)
virtual void setDxNormL2Rel (Scalar dxNormL2Rel)
virtual void setDxNormL2Abs (Scalar dxNormL2Abs)
virtual void setComputeNorms (bool computeNorms)
virtual void setSolutionStatus (Status s)
virtual void setSolutionStatus (const Thyra::SolveStatus< Scalar > sStatus)
virtual void setOutput (bool output)
virtual void setOutputScreen (bool output)
virtual void setIsSynced (bool isSynced)
virtual void setIsInterpolated (bool isInterpolated)
virtual void setAccuracy (bool accuracy)

Get State Data

virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getX ()
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getX () const
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDot ()
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDot () const
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDotDot ()
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDotDot () const
virtual Teuchos::RCP< StepperState< Scalar > > getStepperState ()
virtual Teuchos::RCP< const StepperState< Scalar > > getStepperState () const
virtual Teuchos::RCP< PhysicsState< Scalar > > getPhysicsState ()
virtual Teuchos::RCP< const PhysicsState< Scalar > > getPhysicsState () const

Set State Data

virtual void setX (Teuchos::RCP< Thyra::VectorBase< Scalar > > x)
virtual void setX (Teuchos::RCP< const Thyra::VectorBase< Scalar > > x)
virtual void setXDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xdot)
virtual void setXDot (Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot)
virtual void setXDotDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xdotdot)
virtual void setXDotDot (Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot)
virtual void setStepperState (Teuchos::RCP< StepperState< Scalar > > &ss)
virtual void setStepperState (const Teuchos::RCP< StepperState< Scalar > > &ss)
virtual void setPhysicsState (Teuchos::RCP< PhysicsState< Scalar > > &ps)
virtual void setPhysicsState (const Teuchos::RCP< PhysicsState< Scalar > > &ps)

Comparison methods

bool operator< (const SolutionState< Scalar > &ss) const
 Less than comparison for sorting based on time.
bool operator< (const Scalar &t) const
 Less than comparison for sorting based on time.
bool operator<= (const SolutionState< Scalar > &ss) const
 Less than or equal to comparison for sorting based on time.
bool operator<= (const Scalar &t) const
 Less than or equal to comparison for sorting based on time.
bool operator> (const SolutionState< Scalar > &ss) const
 Greater than comparison for sorting based on time.
bool operator> (const Scalar &t) const
 Greater than comparison for sorting based on time.
bool operator>= (const SolutionState< Scalar > &ss) const
 Greater than or equal to comparison for sorting based on time.
bool operator>= (const Scalar &t) const
 Greater than or equal to comparison for sorting based on time.
bool operator== (const SolutionState< Scalar > &ss) const
 Equality comparison for matching.
bool operator== (const Scalar &t) const
 Equality comparison for matching.

Detailed Description

template<class Scalar>
class Tempus_Test::SolutionState< Scalar >

Solution state for integrators and steppers.

SolutionState Description

The SolutionState object contains all the information and functions related to solution variables at a particular state or time, $x(t)$. The member data is simply the solution variables, $x(t)$; optionally the solution time derivatives, $\dot{x}(t)$ and $\ddot{x}(t)$; and all associated metadata (more on this shortly). The primary driver for this definition is the requirement that the SolutionState has all the information necessary to restart the time integration, e.g., from a failed time step, a checkpointed solution, and/or for adjoint sensitivity analysis. Additionally, by having all the solution and metadata incapsulated, it allows easy passing via a single object, and many SolutionStates forming a history (see SolutionHistory) can be easily used for multi-step methods, solution interpolation, adjoint sensitivities, etc.

Solution Variables

The solution variables, $x(t)$, $\dot{x}(t)$, and which allows us to use all of its functionalities, e.g., norms. At a minimum, the solution, $x(t)$, needs to have a valid RCP of a Thyra::Vector, and a Teuchos::null indicates the SolutionState is not fully constructed. The solution time derivatives, $\dot{x}(t)$ and $\ddot{x}(t)$, are optional. All Tempus steppers (Tempus::Stepper) will efficiently work with just $x(t)$ available (i.e., steppers will maintain an $\dot{x}$ and/or $\ddot{x}$ as needed for efficiency). The primary decision on whether to have the time derivatives as part of the SolutionState is related to memory usage versus recomputing $\dot{x}(t)$ and $\ddot{x}(t)$. If the user needs readily available access to the time derivatives (e.g., in their ModelEvaluator, diagnostics or output), then they should likely be added to the SolutionState. Otherwise, the user should just store the solution, $x(t)$, and recompute the time derivatives as needed.

Solution State Consistency

There are two important concepts for the SolutionState related to the solution, $x(t)$ and its time derivatives, $\dot{x}(t)$ and $\ddot{x}(t)$. The first concept is a solution and its time derivatives are said to be consistent with respect to its governing equation, if it satisfies its explicit ODE, $\dot{x}(t) = f(x(t), t)$ or $\ddot{x}(t)
= f(x(t), \dot{x}(t), t)$, or its implicit ODE $F(x(t),
\dot{x}(t), \ddot{x}(t) = 0$. Thus, there is a relationship between the solution and its time derivatives, such that they satisfy its governing equation. Obviously, there are times when the solution is not consistent with its time derivatives, e.g., initial guess for the nonlinear solve and interpolated solutions. Additionally, because of the discrete representation, this relationship is also dependent on the particular stepper, e.g., for Forward Euler, it is defined via $\dot{x}^{n+1} =
(x^{n+1} - x^n)/dt$, so would not be consistent for another stepper such as the Trapezoidal Rule, where the time derivative is defined as $\dot{x}^{n+1} = (x^{n+1} - x^n)/(dt/2) -
\dot{x}^n$.

Consistency is a very important attribute of a solution to be able to use it for initial conditions and restart. At the cost of a solve, a SolutionState can be made consistent for the Stepper being used by resetting the time derivatives, $\dot{x}(t)$ and $\ddot{x}(t)$, to match the solution, $x(t)$ (see Tempus::Stepper::setInitialConditions).

Solution State Synchronization

The second concept for the SolutionState is the idea of the solution, $x(t)$ and its time derivatives, $\dot{x}(t)$ and $\ddot{x}(t)$ of being synchronized. During the time-integration process (loop), the solution and its time derivatives may not be at the same time level, e.g., $t =
t_n$. This is common for Leapfrog time integration, where the solution, $x(t_{n+1})$; the first time derivative, $\dot{x}(t_{n+1/2})$; and the second time derivative, $\ddot{x}(t_n)$ are all at different time levels, thus they are termed unsynchronized. Of course, there are methods to synchronize them to the same time level, $t_n$. Synchronization is important to ensure accuracy for output, visualization, and verification. All Tempus::Steppers can ensure the SolutionState is synchronized at the end of the time step, if needed. Otherwise, the unsynchronized SolutionState can be maintained for efficiency reasons. (see Tempus::SolutionState::getIsSynced()).

Additional Features

For more complex time integration where the physics has additional state information or the time integrator is not a one-step method (i.e., cannot accurately start from a single time step), this class can be inherited and the physics state (PhysicsState) or additional time-integration parameters can be managed.

SolutionStates can be interpolated to generate solutions at various times (see SolutionHistory). However not all metadata or state information can be interpolated. Thus interpolated solutions may not be suitable for checkpointing, restart and undo operations, but may be useful for diagnostics, output and/or adjoint sensitivities.

The solution vectors, $x$, $\dot{x}$, and $\ddot{x}$, in SolutionState can be null pointers. This indicates that the application does not need them, so do not storage them. This can be a huge savings when saving many states in the solution history. Some Steppers will need temporary memory to store time derivative(s) ( $\dot{x}$, or $\ddot{x}$) for evaluation of the ODE/DAE ( $f(x, \dot{x}, \ddot{x},t)$), but each individual Stepper manages that.

Definition at line 137 of file Tempus_SolutionState_decl.hpp.

Constructor & Destructor Documentation

◆ SolutionState() [1/4]

template<class Scalar>
Tempus::SolutionState< Scalar >::SolutionState ( )

Default Constructor – Not meant for immediate adding to SolutionHistory. This constructor does not set the solution vectors, x, xdot and xdotdot. which should be set via setX(), setXDot(), and/or setXDotDot() prior to being added to SolutionHistory.

Definition at line 18 of file Tempus_SolutionState_impl.hpp.

◆ SolutionState() [2/4]

template<class Scalar>
Tempus::SolutionState< Scalar >::SolutionState ( const Teuchos::RCP< SolutionStateMetaData< Scalar > > ssmd,
const Teuchos::RCP< Thyra::VectorBase< Scalar > > & x,
const Teuchos::RCP< Thyra::VectorBase< Scalar > > & xdot,
const Teuchos::RCP< Thyra::VectorBase< Scalar > > & xdotdot,
const Teuchos::RCP< StepperState< Scalar > > & stepperState,
const Teuchos::RCP< PhysicsState< Scalar > > & physicsState )

Definition at line 40 of file Tempus_SolutionState_impl.hpp.

◆ SolutionState() [3/4]

template<class Scalar>
Tempus::SolutionState< Scalar >::SolutionState ( const Teuchos::RCP< const SolutionStateMetaData< Scalar > > ssmd,
const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & x,
const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & xdot,
const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & xdotdot,
const Teuchos::RCP< const StepperState< Scalar > > & stepperState,
const Teuchos::RCP< const PhysicsState< Scalar > > & physicsState )

Definition at line 71 of file Tempus_SolutionState_impl.hpp.

◆ SolutionState() [4/4]

template<class Scalar>
Tempus::SolutionState< Scalar >::SolutionState ( const SolutionState< Scalar > & ss)

This is a shallow copy constructor, use clone for a deep copy constructor.

Definition at line 101 of file Tempus_SolutionState_impl.hpp.

◆ ~SolutionState()

template<class Scalar>
virtual Tempus::SolutionState< Scalar >::~SolutionState ( )
inlinevirtual

Destructor.

Definition at line 180 of file Tempus_SolutionState_decl.hpp.

Member Function Documentation

◆ clone()

template<class Scalar>
Teuchos::RCP< SolutionState< Scalar > > Tempus::SolutionState< Scalar >::clone ( ) const
virtual

This is a deep copy constructor.

Definition at line 118 of file Tempus_SolutionState_impl.hpp.

◆ copy()

template<class Scalar>
void Tempus::SolutionState< Scalar >::copy ( const Teuchos::RCP< const SolutionState< Scalar > > & ss)
virtual

This is a deep copy.

Definition at line 148 of file Tempus_SolutionState_impl.hpp.

◆ copySolutionData()

template<class Scalar>
void Tempus::SolutionState< Scalar >::copySolutionData ( const Teuchos::RCP< const SolutionState< Scalar > > & s)
virtual

Deep copy solution data, but keep metaData untouched.

Definition at line 157 of file Tempus_SolutionState_impl.hpp.

◆ getMetaData() [1/2]

template<class Scalar>
virtual Teuchos::RCP< const SolutionStateMetaData< Scalar > > Tempus::SolutionState< Scalar >::getMetaData ( ) const
inlinevirtual

Definition at line 185 of file Tempus_SolutionState_decl.hpp.

◆ getMetaData() [2/2]

template<class Scalar>
virtual Teuchos::RCP< SolutionStateMetaData< Scalar > > Tempus::SolutionState< Scalar >::getMetaData ( )
inlinevirtual

Definition at line 186 of file Tempus_SolutionState_decl.hpp.

◆ getTime()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getTime ( ) const
inlinevirtual

Definition at line 190 of file Tempus_SolutionState_decl.hpp.

◆ getIndex()

template<class Scalar>
virtual int Tempus::SolutionState< Scalar >::getIndex ( ) const
inlinevirtual

Definition at line 191 of file Tempus_SolutionState_decl.hpp.

◆ getTimeStep()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getTimeStep ( ) const
inlinevirtual

Definition at line 192 of file Tempus_SolutionState_decl.hpp.

◆ getErrorAbs()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getErrorAbs ( ) const
inlinevirtual

Definition at line 193 of file Tempus_SolutionState_decl.hpp.

◆ getErrorRel()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getErrorRel ( ) const
inlinevirtual

Definition at line 194 of file Tempus_SolutionState_decl.hpp.

◆ getErrorRelNm1()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getErrorRelNm1 ( ) const
inlinevirtual

Definition at line 195 of file Tempus_SolutionState_decl.hpp.

◆ getErrorRelNm2()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getErrorRelNm2 ( ) const
inlinevirtual

Definition at line 196 of file Tempus_SolutionState_decl.hpp.

◆ getOrder()

template<class Scalar>
virtual int Tempus::SolutionState< Scalar >::getOrder ( ) const
inlinevirtual

Definition at line 197 of file Tempus_SolutionState_decl.hpp.

◆ getNFailures()

template<class Scalar>
virtual int Tempus::SolutionState< Scalar >::getNFailures ( ) const
inlinevirtual

Definition at line 198 of file Tempus_SolutionState_decl.hpp.

◆ getNRunningFailures()

template<class Scalar>
virtual int Tempus::SolutionState< Scalar >::getNRunningFailures ( ) const
inlinevirtual

Definition at line 199 of file Tempus_SolutionState_decl.hpp.

◆ getNConsecutiveFailures()

template<class Scalar>
virtual int Tempus::SolutionState< Scalar >::getNConsecutiveFailures ( ) const
inlinevirtual

Definition at line 200 of file Tempus_SolutionState_decl.hpp.

◆ getTolAbs()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getTolAbs ( ) const
inlinevirtual

Definition at line 201 of file Tempus_SolutionState_decl.hpp.

◆ getTolRel()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getTolRel ( ) const
inlinevirtual

Definition at line 202 of file Tempus_SolutionState_decl.hpp.

◆ getXNormL2()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getXNormL2 ( ) const
inlinevirtual

Definition at line 203 of file Tempus_SolutionState_decl.hpp.

◆ getDxNormL2Abs()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getDxNormL2Abs ( ) const
inlinevirtual

Definition at line 204 of file Tempus_SolutionState_decl.hpp.

◆ getDxNormL2Rel()

template<class Scalar>
virtual Scalar Tempus::SolutionState< Scalar >::getDxNormL2Rel ( ) const
inlinevirtual

Definition at line 205 of file Tempus_SolutionState_decl.hpp.

◆ getComputeNorms()

template<class Scalar>
virtual bool Tempus::SolutionState< Scalar >::getComputeNorms ( ) const
inlinevirtual

Definition at line 206 of file Tempus_SolutionState_decl.hpp.

◆ getSolutionStatus()

template<class Scalar>
virtual Status Tempus::SolutionState< Scalar >::getSolutionStatus ( ) const
inlinevirtual

Definition at line 207 of file Tempus_SolutionState_decl.hpp.

◆ getOutput()

template<class Scalar>
virtual bool Tempus::SolutionState< Scalar >::getOutput ( ) const
inlinevirtual

Definition at line 208 of file Tempus_SolutionState_decl.hpp.

◆ getOutputScreen()

template<class Scalar>
virtual bool Tempus::SolutionState< Scalar >::getOutputScreen ( ) const
inlinevirtual

Definition at line 209 of file Tempus_SolutionState_decl.hpp.

◆ getIsSynced()

template<class Scalar>
virtual bool Tempus::SolutionState< Scalar >::getIsSynced ( ) const
inlinevirtual

Definition at line 210 of file Tempus_SolutionState_decl.hpp.

◆ getIsInterpolated()

template<class Scalar>
virtual bool Tempus::SolutionState< Scalar >::getIsInterpolated ( ) const
inlinevirtual

Definition at line 211 of file Tempus_SolutionState_decl.hpp.

◆ getAccuracy()

template<class Scalar>
virtual bool Tempus::SolutionState< Scalar >::getAccuracy ( ) const
inlinevirtual

Definition at line 212 of file Tempus_SolutionState_decl.hpp.

◆ setMetaData() [1/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setMetaData ( Teuchos::RCP< const SolutionStateMetaData< Scalar > > md)
inlinevirtual

Definition at line 217 of file Tempus_SolutionState_decl.hpp.

◆ setMetaData() [2/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setMetaData ( Teuchos::RCP< SolutionStateMetaData< Scalar > > md)
inlinevirtual

Definition at line 220 of file Tempus_SolutionState_decl.hpp.

◆ setTime()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setTime ( Scalar time)
inlinevirtual

Definition at line 223 of file Tempus_SolutionState_decl.hpp.

◆ setIndex()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setIndex ( Scalar index)
inlinevirtual

Definition at line 225 of file Tempus_SolutionState_decl.hpp.

◆ setTimeStep()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setTimeStep ( Scalar dt)
inlinevirtual

Definition at line 227 of file Tempus_SolutionState_decl.hpp.

◆ setErrorAbs()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setErrorAbs ( Scalar errorAbs)
inlinevirtual

Definition at line 229 of file Tempus_SolutionState_decl.hpp.

◆ setErrorRel()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setErrorRel ( Scalar errorRel)
inlinevirtual

Definition at line 231 of file Tempus_SolutionState_decl.hpp.

◆ setOrder()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setOrder ( int order)
inlinevirtual

Definition at line 233 of file Tempus_SolutionState_decl.hpp.

◆ setNFailures()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setNFailures ( int nFailures)
inlinevirtual

Definition at line 236 of file Tempus_SolutionState_decl.hpp.

◆ setNRunningFailures()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setNRunningFailures ( int nFailures)
inlinevirtual

Definition at line 238 of file Tempus_SolutionState_decl.hpp.

◆ setNConsecutiveFailures()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setNConsecutiveFailures ( int nConsecutiveFailures)
inlinevirtual

Definition at line 240 of file Tempus_SolutionState_decl.hpp.

◆ setTolRel()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setTolRel ( Scalar tolRel)
inlinevirtual

Definition at line 243 of file Tempus_SolutionState_decl.hpp.

◆ setTolAbs()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setTolAbs ( Scalar tolAbs)
inlinevirtual

Definition at line 245 of file Tempus_SolutionState_decl.hpp.

◆ setXNormL2()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setXNormL2 ( Scalar xNormL2)
inlinevirtual

Definition at line 248 of file Tempus_SolutionState_decl.hpp.

◆ setDxNormL2Rel()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setDxNormL2Rel ( Scalar dxNormL2Rel)
inlinevirtual

Definition at line 250 of file Tempus_SolutionState_decl.hpp.

◆ setDxNormL2Abs()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setDxNormL2Abs ( Scalar dxNormL2Abs)
inlinevirtual

Definition at line 252 of file Tempus_SolutionState_decl.hpp.

◆ setComputeNorms()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setComputeNorms ( bool computeNorms)
inlinevirtual

Definition at line 254 of file Tempus_SolutionState_decl.hpp.

◆ setSolutionStatus() [1/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setSolutionStatus ( Status s)
inlinevirtual

Definition at line 257 of file Tempus_SolutionState_decl.hpp.

◆ setSolutionStatus() [2/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setSolutionStatus ( const Thyra::SolveStatus< Scalar > sStatus)
inlinevirtual

Definition at line 259 of file Tempus_SolutionState_decl.hpp.

◆ setOutput()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setOutput ( bool output)
inlinevirtual

Definition at line 267 of file Tempus_SolutionState_decl.hpp.

◆ setOutputScreen()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setOutputScreen ( bool output)
inlinevirtual

Definition at line 269 of file Tempus_SolutionState_decl.hpp.

◆ setIsSynced()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setIsSynced ( bool isSynced)
inlinevirtual

Definition at line 271 of file Tempus_SolutionState_decl.hpp.

◆ setIsInterpolated()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setIsInterpolated ( bool isInterpolated)
inlinevirtual

Definition at line 273 of file Tempus_SolutionState_decl.hpp.

◆ setAccuracy()

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setAccuracy ( bool accuracy)
inlinevirtual

Definition at line 275 of file Tempus_SolutionState_decl.hpp.

◆ getX() [1/2]

template<class Scalar>
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::SolutionState< Scalar >::getX ( )
inlinevirtual

Definition at line 281 of file Tempus_SolutionState_decl.hpp.

◆ getX() [2/2]

template<class Scalar>
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > Tempus::SolutionState< Scalar >::getX ( ) const
inlinevirtual

Definition at line 284 of file Tempus_SolutionState_decl.hpp.

◆ getXDot() [1/2]

template<class Scalar>
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::SolutionState< Scalar >::getXDot ( )
inlinevirtual

Definition at line 286 of file Tempus_SolutionState_decl.hpp.

◆ getXDot() [2/2]

template<class Scalar>
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > Tempus::SolutionState< Scalar >::getXDot ( ) const
inlinevirtual

Definition at line 288 of file Tempus_SolutionState_decl.hpp.

◆ getXDotDot() [1/2]

template<class Scalar>
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::SolutionState< Scalar >::getXDotDot ( )
inlinevirtual

Definition at line 290 of file Tempus_SolutionState_decl.hpp.

◆ getXDotDot() [2/2]

template<class Scalar>
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > Tempus::SolutionState< Scalar >::getXDotDot ( ) const
inlinevirtual

Definition at line 292 of file Tempus_SolutionState_decl.hpp.

◆ getStepperState() [1/2]

template<class Scalar>
virtual Teuchos::RCP< StepperState< Scalar > > Tempus::SolutionState< Scalar >::getStepperState ( )
inlinevirtual

Definition at line 295 of file Tempus_SolutionState_decl.hpp.

◆ getStepperState() [2/2]

template<class Scalar>
virtual Teuchos::RCP< const StepperState< Scalar > > Tempus::SolutionState< Scalar >::getStepperState ( ) const
inlinevirtual

Definition at line 298 of file Tempus_SolutionState_decl.hpp.

◆ getPhysicsState() [1/2]

template<class Scalar>
virtual Teuchos::RCP< PhysicsState< Scalar > > Tempus::SolutionState< Scalar >::getPhysicsState ( )
inlinevirtual

Definition at line 301 of file Tempus_SolutionState_decl.hpp.

◆ getPhysicsState() [2/2]

template<class Scalar>
virtual Teuchos::RCP< const PhysicsState< Scalar > > Tempus::SolutionState< Scalar >::getPhysicsState ( ) const
inlinevirtual

Definition at line 303 of file Tempus_SolutionState_decl.hpp.

◆ setX() [1/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setX ( Teuchos::RCP< Thyra::VectorBase< Scalar > > x)
inlinevirtual

Definition at line 309 of file Tempus_SolutionState_decl.hpp.

◆ setX() [2/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setX ( Teuchos::RCP< const Thyra::VectorBase< Scalar > > x)
inlinevirtual

Definition at line 311 of file Tempus_SolutionState_decl.hpp.

◆ setXDot() [1/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setXDot ( Teuchos::RCP< Thyra::VectorBase< Scalar > > xdot)
inlinevirtual

Definition at line 313 of file Tempus_SolutionState_decl.hpp.

◆ setXDot() [2/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setXDot ( Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot)
inlinevirtual

Definition at line 315 of file Tempus_SolutionState_decl.hpp.

◆ setXDotDot() [1/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setXDotDot ( Teuchos::RCP< Thyra::VectorBase< Scalar > > xdotdot)
inlinevirtual

Definition at line 317 of file Tempus_SolutionState_decl.hpp.

◆ setXDotDot() [2/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setXDotDot ( Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot)
inlinevirtual

Definition at line 319 of file Tempus_SolutionState_decl.hpp.

◆ setStepperState() [1/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setStepperState ( Teuchos::RCP< StepperState< Scalar > > & ss)
inlinevirtual

Definition at line 322 of file Tempus_SolutionState_decl.hpp.

◆ setStepperState() [2/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setStepperState ( const Teuchos::RCP< StepperState< Scalar > > & ss)
inlinevirtual

Definition at line 324 of file Tempus_SolutionState_decl.hpp.

◆ setPhysicsState() [1/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setPhysicsState ( Teuchos::RCP< PhysicsState< Scalar > > & ps)
inlinevirtual

Definition at line 327 of file Tempus_SolutionState_decl.hpp.

◆ setPhysicsState() [2/2]

template<class Scalar>
virtual void Tempus::SolutionState< Scalar >::setPhysicsState ( const Teuchos::RCP< PhysicsState< Scalar > > & ps)
inlinevirtual

Definition at line 329 of file Tempus_SolutionState_decl.hpp.

◆ operator<() [1/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator< ( const SolutionState< Scalar > & ss) const

Less than comparison for sorting based on time.

Definition at line 213 of file Tempus_SolutionState_impl.hpp.

◆ operator<() [2/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator< ( const Scalar & t) const

Less than comparison for sorting based on time.

Definition at line 225 of file Tempus_SolutionState_impl.hpp.

◆ operator<=() [1/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator<= ( const SolutionState< Scalar > & ss) const

Less than or equal to comparison for sorting based on time.

Definition at line 219 of file Tempus_SolutionState_impl.hpp.

◆ operator<=() [2/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator<= ( const Scalar & t) const

Less than or equal to comparison for sorting based on time.

Definition at line 231 of file Tempus_SolutionState_impl.hpp.

◆ operator>() [1/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator> ( const SolutionState< Scalar > & ss) const

Greater than comparison for sorting based on time.

Definition at line 237 of file Tempus_SolutionState_impl.hpp.

◆ operator>() [2/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator> ( const Scalar & t) const

Greater than comparison for sorting based on time.

Definition at line 249 of file Tempus_SolutionState_impl.hpp.

◆ operator>=() [1/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator>= ( const SolutionState< Scalar > & ss) const

Greater than or equal to comparison for sorting based on time.

Definition at line 243 of file Tempus_SolutionState_impl.hpp.

◆ operator>=() [2/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator>= ( const Scalar & t) const

Greater than or equal to comparison for sorting based on time.

Definition at line 255 of file Tempus_SolutionState_impl.hpp.

◆ operator==() [1/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator== ( const SolutionState< Scalar > & ss) const

Equality comparison for matching.

Definition at line 261 of file Tempus_SolutionState_impl.hpp.

◆ operator==() [2/2]

template<class Scalar>
bool Tempus::SolutionState< Scalar >::operator== ( const Scalar & t) const

Equality comparison for matching.

Definition at line 267 of file Tempus_SolutionState_impl.hpp.

◆ description()

template<class Scalar>
std::string Tempus::SolutionState< Scalar >::description ( ) const
virtual

Definition at line 273 of file Tempus_SolutionState_impl.hpp.

◆ describe()

template<class Scalar>
void Tempus::SolutionState< Scalar >::describe ( Teuchos::FancyOStream & out,
const Teuchos::EVerbosityLevel verbLevel ) const
virtual

Definition at line 285 of file Tempus_SolutionState_impl.hpp.

◆ computeNorms()

template<class Scalar>
void Tempus::SolutionState< Scalar >::computeNorms ( const Teuchos::RCP< const SolutionState< Scalar > > & ssIn = Teuchos::null)
virtual

Compute the solution norms, and solution change from ssIn, if provided.

Definition at line 321 of file Tempus_SolutionState_impl.hpp.

Member Data Documentation

◆ metaData_

template<class Scalar>
Teuchos::RCP<const SolutionStateMetaData<Scalar> > Tempus::SolutionState< Scalar >::metaData_
private

Meta Data for the solution state.

Definition at line 382 of file Tempus_SolutionState_decl.hpp.

◆ metaData_nc_

template<class Scalar>
Teuchos::RCP<SolutionStateMetaData<Scalar> > Tempus::SolutionState< Scalar >::metaData_nc_
private

Definition at line 383 of file Tempus_SolutionState_decl.hpp.

◆ x_

template<class Scalar>
Teuchos::RCP<const Thyra::VectorBase<Scalar> > Tempus::SolutionState< Scalar >::x_
private

Solution.

Definition at line 386 of file Tempus_SolutionState_decl.hpp.

◆ x_nc_

template<class Scalar>
Teuchos::RCP<Thyra::VectorBase<Scalar> > Tempus::SolutionState< Scalar >::x_nc_
private

Definition at line 387 of file Tempus_SolutionState_decl.hpp.

◆ xdot_

template<class Scalar>
Teuchos::RCP<const Thyra::VectorBase<Scalar> > Tempus::SolutionState< Scalar >::xdot_
private

Time derivative of the solution.

Definition at line 390 of file Tempus_SolutionState_decl.hpp.

◆ xdot_nc_

template<class Scalar>
Teuchos::RCP<Thyra::VectorBase<Scalar> > Tempus::SolutionState< Scalar >::xdot_nc_
private

Definition at line 391 of file Tempus_SolutionState_decl.hpp.

◆ xdotdot_

template<class Scalar>
Teuchos::RCP<const Thyra::VectorBase<Scalar> > Tempus::SolutionState< Scalar >::xdotdot_
private

Second time derivative of the solution.

Definition at line 394 of file Tempus_SolutionState_decl.hpp.

◆ xdotdot_nc_

template<class Scalar>
Teuchos::RCP<Thyra::VectorBase<Scalar> > Tempus::SolutionState< Scalar >::xdotdot_nc_
private

Definition at line 395 of file Tempus_SolutionState_decl.hpp.

◆ stepperState_

template<class Scalar>
Teuchos::RCP<const StepperState<Scalar> > Tempus::SolutionState< Scalar >::stepperState_
private

StepperState for this SolutionState.

Definition at line 398 of file Tempus_SolutionState_decl.hpp.

◆ stepperState_nc_

template<class Scalar>
Teuchos::RCP<StepperState<Scalar> > Tempus::SolutionState< Scalar >::stepperState_nc_
private

Definition at line 399 of file Tempus_SolutionState_decl.hpp.

◆ physicsState_

template<class Scalar>
Teuchos::RCP<const PhysicsState<Scalar> > Tempus::SolutionState< Scalar >::physicsState_
private

PhysicsState for this SolutionState.

Definition at line 402 of file Tempus_SolutionState_decl.hpp.

◆ physicsState_nc_

template<class Scalar>
Teuchos::RCP<PhysicsState<Scalar> > Tempus::SolutionState< Scalar >::physicsState_nc_
private

Definition at line 403 of file Tempus_SolutionState_decl.hpp.


The documentation for this class was generated from the following files: