9 #ifndef Tempus_SolutionState_decl_hpp 10 #define Tempus_SolutionState_decl_hpp 12 #include "Teuchos_VerboseObject.hpp" 13 #include "Teuchos_Describable.hpp" 15 #include "Thyra_VectorBase.hpp" 16 #include "Thyra_ModelEvaluator.hpp" 18 #include "Tempus_config.hpp" 19 #include "Tempus_SolutionStateMetaData.hpp" 21 #include "Tempus_PhysicsState.hpp" 55 template<
class Scalar>
57 public Teuchos::Describable,
58 public Teuchos::VerboseObject<Tempus::SolutionState<Scalar> >
69 #ifndef TEMPUS_HIDE_DEPRECATED_CODE 101 #ifndef TEMPUS_HIDE_DEPRECATED_CODE 112 virtual Teuchos::RCP<SolutionState<Scalar> >
clone()
const;
126 virtual Teuchos::RCP<const SolutionStateMetaData<Scalar> >
128 virtual Teuchos::RCP<SolutionStateMetaData<Scalar> >
getMetaData()
184 metaData_nc_->setNConsecutiveFailures(nConsecutiveFailures); }
203 if (sStatus.solveStatus == Thyra::SOLVE_STATUS_CONVERGED )
223 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getX()
224 { TEUCHOS_ASSERT(
x_nc_ != Teuchos::null);
226 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getX()
const 228 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getXDot()
230 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXDot()
const 232 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getXDotDot()
234 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXDotDot()
const 254 {
x_nc_ = Teuchos::null;
x_ = x; }
278 bool operator< (const SolutionState<Scalar>& ss)
const;
282 bool operator<= (const SolutionState<Scalar>& ss)
const;
312 virtual void describe(Teuchos::FancyOStream &out,
313 const Teuchos::EVerbosityLevel verbLevel)
const;
324 Teuchos::RCP<const SolutionStateMetaData<Scalar> >
metaData_;
328 Teuchos::RCP<const Thyra::VectorBase<Scalar> >
x_;
329 Teuchos::RCP<Thyra::VectorBase<Scalar> >
x_nc_;
332 Teuchos::RCP<const Thyra::VectorBase<Scalar> >
xdot_;
336 Teuchos::RCP<const Thyra::VectorBase<Scalar> >
xdotdot_;
351 template<
class Scalar>
352 Teuchos::RCP<SolutionState<Scalar> >
359 template<
class Scalar>
360 Teuchos::RCP<SolutionState<Scalar> >
367 template<
class Scalar>
368 Teuchos::RCP<SolutionState<Scalar> >
378 #endif // Tempus_SolutionState_decl_hpp virtual Status getSolutionStatus() const
Teuchos::RCP< SolutionState< Scalar > > createSolutionStateX(const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xdot=Teuchos::null, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xdotdot=Teuchos::null)
Nonmember constructor from non-const solution vectors, x.
PhysicsState is a simple class to hold information about the physics.
virtual void setXNormL2(Scalar xNormL2)
virtual Teuchos::RCP< StepperState< Scalar > > getStepperState()
virtual Scalar getTime() const
virtual void setNFailures(int nFailures)
virtual void setStepperState(const Teuchos::RCP< StepperState< Scalar > > &ss)
Teuchos::RCP< Thyra::VectorBase< Scalar > > xdot_nc_
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDot()
virtual void setDxNormL2Rel(Scalar dxNormL2Rel)
virtual void setXDot(Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot)
virtual Scalar getErrorRelNm2() const
bool operator==(const SolutionState< Scalar > &ss) const
Equality comparison for matching.
bool operator<(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
virtual void setErrorAbs(Scalar errorAbs)
Teuchos::RCP< const SolutionStateMetaData< Scalar > > metaData_
Meta Data for the solution state.
virtual bool getIsSynced() const
virtual void setTolAbs(Scalar tolAbs)
virtual void setStepperState(Teuchos::RCP< StepperState< Scalar > > &ss)
virtual Teuchos::RCP< SolutionState< Scalar > > clone() const
This is a deep copy constructor.
virtual bool getOutputScreen() const
virtual bool getAccuracy() const
virtual Scalar getDxNormL2Abs() const
virtual Teuchos::RCP< const PhysicsState< Scalar > > getPhysicsState() const
virtual void setIsSynced(bool isSynced)
virtual void setIsInterpolated(bool isInterpolated)
virtual void setXDot(Teuchos::RCP< Thyra::VectorBase< Scalar > > xdot)
Teuchos::RCP< PhysicsState< Scalar > > physicsState_nc_
Teuchos::RCP< const PhysicsState< Scalar > > physicsState_
PhysicsState for this SolutionState.
virtual void setDxNormL2Abs(Scalar dxNormL2Abs)
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot_
Second time derivative of the solution.
bool operator<=(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
virtual Teuchos::RCP< PhysicsState< Scalar > > getPhysicsState()
virtual Scalar getTolRel() const
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
virtual Scalar getDxNormL2Rel() const
Teuchos::RCP< Thyra::VectorBase< Scalar > > xdotdot_nc_
virtual int getNFailures() const
StepperState is a simple class to hold state information about the stepper.
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDotDot() const
virtual int getIndex() const
virtual void setIndex(Scalar index)
Status
Status for the Integrator, the Stepper and the SolutionState.
Teuchos::RCP< const StepperState< Scalar > > stepperState_
StepperState for this SolutionState.
virtual void setSolutionStatus(const Thyra::SolveStatus< Scalar > sStatus)
virtual bool getComputeNorms() const
virtual void setTimeStep(Scalar dt)
virtual Scalar getTimeStep() const
virtual void setErrorRel(Scalar errorRel)
virtual void setNRunningFailures(int nFailures)
virtual Scalar getTolAbs() const
virtual Scalar getXNormL2() const
virtual void copySolutionData(const Teuchos::RCP< const SolutionState< Scalar > > &s)
Deep copy solution data, but keep metaData untouched.
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDotDot()
virtual void setSolutionStatus(Status s)
SolutionState()
Default Constructor – Not meant for immediate adding to SolutionHistory. This constructor does not ...
virtual void setX(Teuchos::RCP< const Thyra::VectorBase< Scalar > > x)
virtual void setNConsecutiveFailures(int nConsecutiveFailures)
bool operator>=(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
virtual std::string description() const
Teuchos::RCP< SolutionState< Scalar > > createSolutionStateME(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, const Teuchos::RCP< StepperState< Scalar > > &stepperState=Teuchos::null, const Teuchos::RCP< PhysicsState< Scalar > > &physicsState=Teuchos::null)
Nonmember constructor from Thyra ModelEvaluator.
virtual void setXDotDot(Teuchos::RCP< Thyra::VectorBase< Scalar > > xdotdot)
Teuchos::RCP< const Thyra::VectorBase< Scalar > > x_
Solution.
virtual Teuchos::RCP< const StepperState< Scalar > > getStepperState() const
Teuchos::RCP< Thyra::VectorBase< Scalar > > x_nc_
Teuchos::RCP< StepperState< Scalar > > stepperState_nc_
virtual Teuchos::RCP< SolutionStateMetaData< Scalar > > getMetaData()
virtual bool getIsInterpolated() const
virtual Scalar getErrorRel() const
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDot() const
virtual Scalar getErrorAbs() const
virtual void setAccuracy(bool accuracy)
virtual ~SolutionState()
Destructor.
virtual void setOutputScreen(bool output)
virtual void computeNorms(const Teuchos::RCP< const SolutionState< Scalar > > &ssIn=Teuchos::null)
Compute the solution norms, and solution change from ssIn, if provided.
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getX() const
virtual Teuchos::RCP< const SolutionStateMetaData< Scalar > > getMetaData() const
virtual int getNConsecutiveFailures() const
virtual void setOrder(int order)
virtual void setX(Teuchos::RCP< Thyra::VectorBase< Scalar > > x)
virtual void setPhysicsState(const Teuchos::RCP< PhysicsState< Scalar > > &ps)
virtual void setXDotDot(Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot)
virtual bool getOutput() const
virtual int getOrder() const
virtual void setMetaData(Teuchos::RCP< SolutionStateMetaData< Scalar > > md)
virtual void setMetaData(Teuchos::RCP< const SolutionStateMetaData< Scalar > > md)
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getX()
virtual void setTime(Scalar time)
virtual Scalar getErrorRelNm1() const
virtual void setPhysicsState(Teuchos::RCP< PhysicsState< Scalar > > &ps)
virtual void setComputeNorms(bool computeNorms)
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot_
Time derivative of the solution.
virtual void setOutput(bool output)
Solution state for integrators and steppers. SolutionState contains the metadata for solutions and th...
bool operator>(const SolutionState< Scalar > &ss) const
Less than comparison for sorting based on time.
virtual void setTolRel(Scalar tolRel)
virtual int getNRunningFailures() const
Teuchos::RCP< SolutionStateMetaData< Scalar > > metaData_nc_
virtual void copy(const Teuchos::RCP< const SolutionState< Scalar > > &ss)
This is a deep copy.