29 #ifndef Rythmos_STEPPER_BASE_DECL_H
30 #define Rythmos_STEPPER_BASE_DECL_H
33 #include "Rythmos_InterpolationBufferBase.hpp"
34 #include "Rythmos_StepperSupportTypes.hpp"
35 #include "Rythmos_Types.hpp"
36 #include "Teuchos_Describable.hpp"
37 #include "Thyra_ModelEvaluator.hpp"
43 const std::string RythmosStepControlSettings_name =
"Step Control Settings";
77 template<
class Scalar>
167 const RCP<
const Thyra::ModelEvaluator<Scalar> >& model
182 const RCP<Thyra::ModelEvaluator<Scalar> >& model
203 virtual RCP<const Thyra::ModelEvaluator<Scalar> >
208 virtual RCP<Thyra::ModelEvaluator<Scalar> >
230 const Thyra::ModelEvaluatorBase::InArgs<Scalar> &initialCondition
239 virtual Thyra::ModelEvaluatorBase::InArgs<Scalar>
278 virtual Scalar
takeStep(Scalar dt, StepSizeType stepType) = 0;
309 bool isEmbeddedRK_ =
false;
318 template<
class Scalar>
Base class for an interpolation buffer.
Base class for defining stepper functionality.
virtual bool isImplicit() const
Return if this stepper is an implicit stepper.
virtual bool modelIsConst() const
Return of the model is only const or can be returned as a non-const object.
virtual bool supportsCloning() const
Return if this stepper supports cloning or not.
virtual Scalar takeStep(Scalar dt, StepSizeType stepType)=0
Take a step.
virtual void setStepControlData(const StepperBase &stepper)
Set step control data from another stepper.
virtual void setModel(const RCP< const Thyra::ModelEvaluator< Scalar > > &model)=0
Specify the model problem to integrate.
virtual RCP< Thyra::ModelEvaluator< Scalar > > getNonconstModel()=0
Get the model nonconst.
virtual void setNonconstModel(const RCP< Thyra::ModelEvaluator< Scalar > > &model)=0
Accept a nonconst model.
virtual RCP< StepperBase< Scalar > > cloneStepperAlgorithm() const
Clone the stepper object if supported.
virtual bool acceptsModel() const
Return if this stepper accepts a model.
bool isInitialized(const StepperBase< Scalar > &stepper)
virtual RCP< const Thyra::ModelEvaluator< Scalar > > getModel() const =0
Get the model.
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > getInitialCondition() const =0
Get the currently set initial condtion.
virtual void setInitialCondition(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &initialCondition)=0
Specify initial condition and re-initialize.
virtual const StepStatus< Scalar > getStepStatus() const =0
Get current stepper status after a step has been taken.