Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
Tempus::SolutionState< Scalar > Class Template Reference

Solution state for integrators and steppers. More...

#include <Tempus_SolutionState_decl.hpp>

Inheritance diagram for Tempus::SolutionState< Scalar >:
Teuchos::Describable Teuchos::VerboseObject< Tempus::SolutionState< Scalar > > Teuchos::LabeledObject Teuchos::VerboseObjectBase

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. More...
 
 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. More...
 
virtual Teuchos::RCP
< SolutionState< Scalar > > 
clone () const
 This is a deep copy constructor. More...
 
virtual void copy (const Teuchos::RCP< const SolutionState< Scalar > > &ss)
 This is a deep copy. More...
 
virtual void copySolutionData (const Teuchos::RCP< const SolutionState< Scalar > > &s)
 Deep copy solution data, but keep metaData untouched. More...
 
virtual ~SolutionState ()
 Destructor. More...
 
virtual void computeNorms (const Teuchos::RCP< const SolutionState< Scalar > > &ssIn=Teuchos::null)
 Compute the solution norms, and solution change from ssIn, if provided. More...
 
- Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
- Public Member Functions inherited from Teuchos::VerboseObject< Tempus::SolutionState< Scalar > >
 VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual const VerboseObjectsetVerbLevel (const EVerbosityLevel verbLevel) const
 
virtual const VerboseObjectsetOverridingVerbLevel (const EVerbosityLevel verbLevel) const
 
virtual EVerbosityLevel getVerbLevel () const
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
RCP< const ParameterList
getValidVerboseObjectSublist ()
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
void 
setupVerboseObjectSublist (ParameterList *paramList)
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
void 
readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel)
 
void readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject)
 
- Public Member Functions inherited from Teuchos::VerboseObjectBase
virtual ~VerboseObjectBase ()
 
 VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual const VerboseObjectBasesetOStream (const RCP< FancyOStream > &oStream) const
 
virtual const VerboseObjectBasesetOverridingOStream (const RCP< FancyOStream > &oStream) const
 
virtual VerboseObjectBasesetLinePrefix (const std::string &linePrefix)
 
virtual RCP< FancyOStreamgetOStream () const
 
virtual RCP< FancyOStreamgetOverridingOStream () const
 
virtual std::string getLinePrefix () const
 
virtual OSTab getOSTab (const int tabs=1, const std::string &linePrefix="") const
 

Private Attributes

Teuchos::RCP< const
SolutionStateMetaData< Scalar > > 
metaData_
 Meta Data for the solution state. More...
 
Teuchos::RCP
< SolutionStateMetaData
< Scalar > > 
metaData_nc_
 
Teuchos::RCP< const
Thyra::VectorBase< Scalar > > 
x_
 Solution. More...
 
Teuchos::RCP
< Thyra::VectorBase< Scalar > > 
x_nc_
 
Teuchos::RCP< const
Thyra::VectorBase< Scalar > > 
xdot_
 Time derivative of the solution. More...
 
Teuchos::RCP
< Thyra::VectorBase< Scalar > > 
xdot_nc_
 
Teuchos::RCP< const
Thyra::VectorBase< Scalar > > 
xdotdot_
 Second time derivative of the solution. More...
 
Teuchos::RCP
< Thyra::VectorBase< Scalar > > 
xdotdot_nc_
 
Teuchos::RCP< const
StepperState< Scalar > > 
stepperState_
 StepperState for this SolutionState. More...
 
Teuchos::RCP< StepperState
< Scalar > > 
stepperState_nc_
 
Teuchos::RCP< const
PhysicsState< Scalar > > 
physicsState_
 PhysicsState for this SolutionState. More...
 
Teuchos::RCP< PhysicsState
< Scalar > > 
physicsState_nc_
 

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

Overridden from Teuchos::Describable

virtual std::string description () const
 
virtual void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Additional Inherited Members

- Static Public Member Functions inherited from Teuchos::VerboseObject< Tempus::SolutionState< Scalar > >
static void setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel)
 
static EVerbosityLevel getDefaultVerbLevel ()
 
- Static Public Member Functions inherited from Teuchos::VerboseObjectBase
static void setDefaultOStream (const RCP< FancyOStream > &defaultOStream)
 
static RCP< FancyOStreamgetDefaultOStream ()
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 
- Protected Member Functions inherited from Teuchos::VerboseObject< Tempus::SolutionState< Scalar > >
void initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
 
- Protected Member Functions inherited from Teuchos::VerboseObjectBase
void initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual void informUpdatedVerbosityState () const
 

Detailed Description

template<class Scalar>
class Tempus::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 136 of file Tempus_SolutionState_decl.hpp.

Constructor & Destructor Documentation

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 17 of file Tempus_SolutionState_impl.hpp.

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 38 of file Tempus_SolutionState_impl.hpp.

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 69 of file Tempus_SolutionState_impl.hpp.

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 98 of file Tempus_SolutionState_impl.hpp.

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

Destructor.

Definition at line 175 of file Tempus_SolutionState_decl.hpp.

Member Function Documentation

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

This is a deep copy constructor.

Definition at line 115 of file Tempus_SolutionState_impl.hpp.

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

This is a deep copy.

Definition at line 144 of file Tempus_SolutionState_impl.hpp.

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 152 of file Tempus_SolutionState_impl.hpp.

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

Definition at line 179 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 183 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 189 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 190 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 191 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 192 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 193 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 194 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 195 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 196 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 197 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 198 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 202 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 206 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 207 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 208 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 209 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 210 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 211 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 212 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 216 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 217 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 218 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 219 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 223 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 228 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 234 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 240 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 245 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 250 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 255 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 260 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 265 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 271 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 276 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 281 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 286 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 291 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 297 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 302 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 307 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 312 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 318 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 323 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 331 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 336 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 341 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 346 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 351 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 360 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 365 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 369 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 373 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 377 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 381 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 386 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 391 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 396 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 400 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 408 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 413 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 418 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 423 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 428 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 433 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 440 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 445 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 451 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 456 of file Tempus_SolutionState_decl.hpp.

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

Less than comparison for sorting based on time.

Definition at line 208 of file Tempus_SolutionState_impl.hpp.

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 214 of file Tempus_SolutionState_impl.hpp.

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

Less than comparison for sorting based on time.

Definition at line 220 of file Tempus_SolutionState_impl.hpp.

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 226 of file Tempus_SolutionState_impl.hpp.

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

Greater than comparison for sorting based on time.

Definition at line 232 of file Tempus_SolutionState_impl.hpp.

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 238 of file Tempus_SolutionState_impl.hpp.

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

Greater than comparison for sorting based on time.

Definition at line 244 of file Tempus_SolutionState_impl.hpp.

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 250 of file Tempus_SolutionState_impl.hpp.

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

Equality comparison for matching.

Definition at line 256 of file Tempus_SolutionState_impl.hpp.

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

Equality comparison for matching.

Definition at line 262 of file Tempus_SolutionState_impl.hpp.

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

Reimplemented from Teuchos::Describable.

Definition at line 268 of file Tempus_SolutionState_impl.hpp.

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

Reimplemented from Teuchos::Describable.

Definition at line 280 of file Tempus_SolutionState_impl.hpp.

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 313 of file Tempus_SolutionState_impl.hpp.

Member Data Documentation

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

Meta Data for the solution state.

Definition at line 511 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 512 of file Tempus_SolutionState_decl.hpp.

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

Solution.

Definition at line 515 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 516 of file Tempus_SolutionState_decl.hpp.

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

Time derivative of the solution.

Definition at line 519 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 520 of file Tempus_SolutionState_decl.hpp.

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

Second time derivative of the solution.

Definition at line 523 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 524 of file Tempus_SolutionState_decl.hpp.

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

StepperState for this SolutionState.

Definition at line 527 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 528 of file Tempus_SolutionState_decl.hpp.

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

PhysicsState for this SolutionState.

Definition at line 531 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 532 of file Tempus_SolutionState_decl.hpp.


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