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";
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;
318template<
class Scalar>
Base class for an interpolation buffer.
Base class for defining stepper functionality.
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > getInitialCondition() const =0
Get the currently set initial condtion.
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 const StepStatus< Scalar > getStepStatus() const =0
Get current stepper status after a step has been taken.
virtual void setNonconstModel(const RCP< Thyra::ModelEvaluator< Scalar > > &model)=0
Accept a nonconst model.
virtual RCP< Thyra::ModelEvaluator< Scalar > > getNonconstModel()=0
Get the model nonconst.
virtual RCP< StepperBase< Scalar > > cloneStepperAlgorithm() const
Clone the stepper object if supported.
virtual RCP< const Thyra::ModelEvaluator< Scalar > > getModel() const =0
Get the model.
virtual bool acceptsModel() const
Return if this stepper accepts a model.
bool isInitialized(const StepperBase< Scalar > &stepper)
virtual void setInitialCondition(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &initialCondition)=0
Specify initial condition and re-initialize.