Module with things related to the simulation time.
◆ time_state_init_from_components()
◆ time_state_init_from_json()
◆ time_state_is_done()
- Note
- The comparison is made on the progress from the start time in the direction of the simulation, so that it also holds for a simulation marching backwards in time. The tolerance keeps a time a few ulps short of the end time from adding one more time step, which would overshoot the end time by almost
dt and produce an output past it.
Definition at line 157 of file time_state.f90.
◆ time_state_reset()
◆ time_state_status()
◆ time_state_tolerance()
The current time is accumulated step by step and carries the round-off of the additions, so a time step meant to land on a fixed time can end up a few ulps on either side of it. Within this tolerance the two are considered equal. It is relative to the span of the simulation is always non-negative, also for a simulation marching backwards in time. To prevent issues it is also limited to a fraction of the time step size.
Definition at line 179 of file time_state.f90.