30#ifndef RYTHMOS_RAMPING_INTEGRATION_CONTROL_STRATEGY_DECL_HPP
31#define RYTHMOS_RAMPING_INTEGRATION_CONTROL_STRATEGY_DECL_HPP
34#include "Rythmos_IntegrationControlStrategyBase.hpp"
35#include "Rythmos_StepperBase.hpp"
36#include "Rythmos_StepControlInfo.hpp"
37#include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
50 virtual public Teuchos::ParameterListAcceptorDefaultBase
80 RCP<IntegrationControlStrategyBase<Scalar> >
93 const int timeStepIter
100 const int timeStepIter,
108 bool take_variable_steps_;
109 int num_constant_steps_;
110 int num_ramping_steps_;
114 Scalar ramping_factor_;
115 int num_step_failures_;
116 int max_step_failures_;
122 static const std::string take_variable_steps_name_;
123 static const bool take_variable_steps_default_;
125 static const std::string num_constant_steps_name_;
126 static const int num_constant_steps_default_;
128 static const std::string num_ramping_steps_name_;
129 static const int num_ramping_steps_default_;
131 static const std::string initial_dt_name_;
132 static const double initial_dt_default_;
134 static const std::string min_dt_name_;
135 static const double min_dt_default_;
137 static const std::string max_dt_name_;
138 static const double max_dt_default_;
140 static const std::string ramping_factor_name_;
141 static const double ramping_factor_default_;
143 static const std::string max_step_failures_name_;
144 static const int max_step_failures_default_;
153template<
class Scalar>
154RCP<RampingIntegrationControlStrategy<Scalar> >
155rampingIntegrationControlStrategy();
162template<
class Scalar>
163RCP<RampingIntegrationControlStrategy<Scalar> >
164rampingIntegrationControlStrategy(
const RCP<ParameterList> ¶mList );
Base class for strategy objects that control integration by selecting step sizes for a stepper.
Controls inital ramping at a fixed or incrementing time step size.
StepControlInfo< Scalar > getNextStepControlInfo(const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfoLast, const int timeStepIter)
void resetIntegrationControlStrategy(const TimeRange< Scalar > &integrationTimeDomain)
RCP< const ParameterList > getValidParameters() const
void setParameterList(RCP< ParameterList > const ¶mList)
RCP< IntegrationControlStrategyBase< Scalar > > cloneIntegrationControlStrategy() const
bool resetForFailedTimeStep(const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfoLast, const int timeStepIter, const StepControlInfo< Scalar > &stepCtrlInfo)
RampingIntegrationControlStrategy()
Constructors/Initializers.
bool handlesFailedTimeSteps() const
Overridden from IntegrationControlStrategyBase.
Simple struct to aggregate integration/stepper control information.
Base class for defining stepper functionality.