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 137 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 18 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 39 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 70 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 99 of file Tempus_SolutionState_impl.hpp.

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

Destructor.

Definition at line 176 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 116 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 145 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 153 of file Tempus_SolutionState_impl.hpp.

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

Definition at line 180 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 184 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 190 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 191 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 192 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 193 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 194 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 195 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 196 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 197 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 198 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 199 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 203 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 207 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 208 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 209 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 210 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 211 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 212 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 213 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 217 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 218 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 219 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 220 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 224 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 229 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 235 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 241 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 246 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 251 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 256 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 261 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 266 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 272 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 277 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 282 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 287 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 292 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 298 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 303 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 308 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 313 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 319 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 324 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 332 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 337 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 342 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 347 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 352 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 361 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 366 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 370 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 374 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 378 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 382 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 387 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 392 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 397 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 401 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 409 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 414 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 419 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 424 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 429 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 434 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 441 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 446 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 452 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 457 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 209 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 215 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 221 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 227 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 233 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 239 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 245 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 251 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 257 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 263 of file Tempus_SolutionState_impl.hpp.

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

Reimplemented from Teuchos::Describable.

Definition at line 269 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 281 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 314 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 512 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 513 of file Tempus_SolutionState_decl.hpp.

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

Solution.

Definition at line 516 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 517 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 520 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 521 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 524 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 525 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 528 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 529 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 532 of file Tempus_SolutionState_decl.hpp.

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

Definition at line 533 of file Tempus_SolutionState_decl.hpp.


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