2 #ifndef RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP 
    3 #define RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP 
    5 #include "Rythmos_Types.hpp" 
    6 #include "Teuchos_Describable.hpp" 
    7 #include "Teuchos_VerboseObject.hpp" 
    8 #include "Teuchos_ParameterListAcceptor.hpp" 
   24 template<
class Scalar>
 
   26   : 
virtual public Teuchos::Describable,
 
   27     virtual public Teuchos::VerboseObject<IntegrationControlStrategyBase<Scalar> >,
 
   28     virtual public Teuchos::ParameterListAcceptor
 
   43   virtual RCP<IntegrationControlStrategyBase<Scalar> >
 
   93     const int timeStepIter
 
  130 #endif // RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP 
virtual void resetIntegrationControlStrategy(const TimeRange< Scalar > &integrationTimeDomain)=0
Reset the control algorithm to the beginning to start a new integration. 
 
Base class for defining stepper functionality. 
 
virtual RCP< IntegrationControlStrategyBase< Scalar > > cloneIntegrationControlStrategy() const =0
Clone this integration control object if supported . 
 
virtual StepControlInfo< Scalar > getNextStepControlInfo(const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfoLast, const int timeStepIter)=0
Select the next time step control info. 
 
Simple struct to aggregate integration/stepper control information. 
 
Base class for strategy objects that control integration by selecting step sizes for a stepper...
 
virtual bool resetForFailedTimeStep(const StepperBase< Scalar > &, const StepControlInfo< Scalar > &, const int, const StepControlInfo< Scalar > &)
Inform of a failed time step. 
 
virtual bool handlesFailedTimeSteps() const 
Return if this object can handle and repond to failed time steps.