8#include <initializer_list>
17 return 16.0 * std::numeric_limits<mfem::real_t>::epsilon()
18 * std::max(mfem::real_t(1.0), std::abs(time));
22 const mfem::real_t event_time)
28 const mfem::real_t time,
29 const std::initializer_list<mfem::real_t> event_times)
31 mfem::real_t result = mfem::infinity();
33 for (
const mfem::real_t event_time : event_times)
35 const mfem::real_t delta = event_time - time;
36 if (std::isfinite(event_time) && delta > tolerance)
37 result = std::min(result, delta);
43 const mfem::real_t nominal_step,
44 const mfem::real_t time,
45 const std::initializer_list<mfem::real_t> event_times)
Definition AxisymmetricGeometry.hpp:15
mfem::real_t LimitTimeStepToEvents(const mfem::real_t nominal_step, const mfem::real_t time, const std::initializer_list< mfem::real_t > event_times)
Definition TimeStepControl.hpp:42
mfem::real_t TimeToNextEvent(const mfem::real_t time, const std::initializer_list< mfem::real_t > event_times)
Definition TimeStepControl.hpp:27
bool TimeEventReached(const mfem::real_t time, const mfem::real_t event_time)
Definition TimeStepControl.hpp:21
mfem::real_t TimeEventTolerance(const mfem::real_t time)
Definition TimeStepControl.hpp:15