- cutback_factor_at_failure0.5Factor to apply to timestep if a time step fails to converge.
Default:0.5
C++ Type:double
Controllable:No
Description:Factor to apply to timestep if a time step fails to converge.
- initial_dtInitial value of dt
C++ Type:double
Controllable:No
Description:Initial value of dt
- lower_boundThe maximum of these TimeSteppers will form the lower bound on the time step size. A single or multiple time steppers may be specified.
C++ Type:std::vector<std::string>
Controllable:No
Description:The maximum of these TimeSteppers will form the lower bound on the time step size. A single or multiple time steppers may be specified.
- reset_dtFalseUse when restarting a calculation to force a change in dt.
Default:False
C++ Type:bool
Controllable:No
Description:Use when restarting a calculation to force a change in dt.
CompositionDT
The time stepper take all the other time steppers as input and return the minimum time step size.
Description
The CompositionDT
TimeStepper takes multiple time steppers as input and computes the minimum time step size among all time steppers as output. If any time sequence stepper(s) is supplied for input, CompositionDT will compare the computed minimum time step size with the one needs to hit the time point, then select the smaller value as output. An optional parameter "lower_bound"is provided to set a lower bound for the computed time step size, and enable growth driven by a single time stepper.
The composition rules are listed with priority rank: 1. The time points from time sequence stepper(s) must** be hit; 2. The time step size can not go below the "lower_bound"; 3. Take the minimum time step value of all input time steppers.
An example of using multiple time steppers:
[Executioner]
type = Transient
end_time = 0.8
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
# Use as many different time steppers as we could to test the compositionDT,
# SolutionTimeAdaptiveDT give slightly different dt per run, set rel_err = 1e-2
# to ensure the test won't fail due to the small difference in the high-digit.
[TimeSteppers]
[ConstDT1]
type = ConstantDT
dt = 0.2
[]
[FunctionDT]
type = FunctionDT
function = dts
[]
[LogConstDT]
type = LogConstantDT
log_dt = 0.2
first_dt = 0.1
[]
[IterationAdapDT]
type = IterationAdaptiveDT
dt = 0.5
[]
[Timesequence]
type = TimeSequenceStepper
time_sequence = '0 0.25 0.3 0.5 0.8'
[]
[PPDT]
type = PostprocessorDT
postprocessor = PostDT
dt = 0.1
[]
[]
[]
(../moose/test/tests/time_steppers/time_stepper_system/multiple_timesteppers.i)Input Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTruewhether or not to enable the time stepper
Default:True
C++ Type:bool
Controllable:Yes
Description:whether or not to enable the time stepper