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.