|
Rythmos - Transient Integration for Differential Equations
Version of the Day
|
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
118 const int timeStepIter,
130 #endif // RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP
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.
Base class for defining stepper functionality.
Simple struct to aggregate integration/stepper control information.
virtual bool resetForFailedTimeStep(const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfoLast, const int timeStepIter, const StepControlInfo< Scalar > &stepCtrlInfo)
Inform of a failed time step.
virtual void resetIntegrationControlStrategy(const TimeRange< Scalar > &integrationTimeDomain)=0
Reset the control algorithm to the beginning to start a new integration.
virtual bool handlesFailedTimeSteps() const
Return if this object can handle and repond to failed time steps.
Base class for strategy objects that control integration by selecting step sizes for a stepper.