39 virtual void init()
override;
std::optional< Real > _dt_from_reject
Timestep used to reject a timestep, used to constrain the next attempt.
Function base which provides a piecewise approximation to a specified (x,y) point data set...
Base class for function objects.
This class interpolates values given a set of data pairs and an abscissa.
Real computeInterpolationDT()
const Real & _cutback_factor
cut the timestep by by this factor
unsigned int & _nl_its
Number of nonlinear iterations in previous solve.
std::vector< const Function * > _timestep_limiting_functions
std::vector< const PostprocessorValue * > _pps_value
if specified, the postprocessor values used to determine an upper limit for the time step length ...
virtual Real computeDT() override
Computes time step size after the initial time step.
Adjust the timestep based on the number of iterations.
Base class for time stepping.
const Real _input_dt
The dt from the input file.
Function which provides a piecewise continuous linear interpolation of a provided (x...
virtual Real computeInitialDT() override
Computes time step size for the initial time step.
IterationAdaptiveDT(const InputParameters ¶meters)
bool _reject_large_step
Indicates whether we need to reject a time step much larger than its ideal size.
void limitDTByFunction(Real &limitedDT)
virtual bool constrainStep(Real &dt) override
Called after computeStep() is called.
std::vector< const PiecewiseLinear * > _piecewise_linear_timestep_limiting_functions
const Real & _growth_factor
grow the timestep by this factor
int _optimal_iterations
Adapt the timestep to maintain this non-linear iteration count...
virtual Real computeFailedDT() override
Computes time step size after a failed time step.
const bool _force_step_every_function_point
insert sync points at the time nodes of the _piecewise_timestep_limiting_function ...
const bool _use_time_ipol
true if we want to use piecewise-defined time stepping
std::vector< const PiecewiseBase * > _piecewise_timestep_limiting_functions
unsigned int & _l_its
Number of linear iterations in previous solve.
static InputParameters validParams()
virtual void preExecute() override
Real _max_function_change
LinearInterpolation _time_ipol
PiecewiseBase linear definition of time stepping.
const Real _post_function_sync_dt
Set timestep size if previous timestep is synced with function.
virtual void rejectStep() override
This gets called when time step is rejected.
std::set< Real > _tfunc_times
bool _adaptive_timestepping
adaptive timestepping is active if the optimal_iterations input parameter is specified ...
void limitDTToPostprocessorValue(Real &limitedDT) const
virtual bool converged() const override
If the time step converged.
virtual void init() override
Initialize the time stepper.
void computeAdaptiveDT(Real &dt, bool allowToGrow=true, bool allowToShrink=true)
const int _linear_iteration_ratio
use _optimal_iterations and _iteration_window multiplied with this factor for linear iterations ...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< Real > _times
time point defined in the piecewise function
int _iteration_window
...plus/minus this value.
const InputParameters & parameters() const
Get the parameters of the object.
double _large_step_rejection_threshold
Threshold used to detect whether we need to reject a step.
Interface class for classes which interact with Postprocessors.
virtual void acceptStep() override
This gets called when time step is accepted.