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> 
 
   78 class StepperBase : 
virtual public InterpolationBufferBase<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>
 
  319 bool isInitialized( 
const StepperBase<Scalar>& stepper );
 
  324 #endif //Rythmos_STEPPER_BASE_DECL_H 
virtual Scalar takeStep(Scalar dt, StepSizeType stepType)=0
Take a step. 
 
Base class for defining stepper functionality. 
 
virtual const StepStatus< Scalar > getStepStatus() const =0
Get current stepper status after a step has been taken. 
 
virtual void setInitialCondition(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &initialCondition)=0
Specify initial condition and re-initialize. 
 
virtual void setModel(const RCP< const Thyra::ModelEvaluator< Scalar > > &model)=0
Specify the model problem to integrate. 
 
virtual bool acceptsModel() const 
Return if this stepper accepts a model. 
 
virtual void setNonconstModel(const RCP< Thyra::ModelEvaluator< Scalar > > &model)=0
Accept a nonconst model. 
 
virtual void setStepControlData(const StepperBase &stepper)
Set step control data from another stepper. 
 
virtual RCP< Thyra::ModelEvaluator< Scalar > > getNonconstModel()=0
Get the model nonconst. 
 
virtual RCP< const Thyra::ModelEvaluator< Scalar > > getModel() const =0
Get the model. 
 
virtual bool isImplicit() const 
Return if this stepper is an implicit stepper. 
 
virtual bool supportsCloning() const 
Return if this stepper supports cloning or not. 
 
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > getInitialCondition() const =0
Get the currently set initial condtion. 
 
virtual bool modelIsConst() const 
Return of the model is only const or can be returned as a non-const object. 
 
virtual RCP< StepperBase< Scalar > > cloneStepperAlgorithm() const 
Clone the stepper object if supported.