for retry after burning fail, we can use the time from burn_t
zingale opened this issue · comments
When we run with use_retry
and we encounter a burn failure, we can estimate the number of retries needed simply by looking at dt / burn_t burn_state.time
. This might be more reliable than the current method. To implement this, we'd need to compute that ratio in a reduction clause in the burner loop when we fail.
This wouldn't be that hard to try. I don't have a good prediction about whether it would help; sometimes cutting the step by 2 will be just fine for new-time Strang burns simply because the burning is so non-linear that changing the hydro input can "fix" the problem, so cutting it by more than that might be overkill.
It seems worth experimenting with empirically.
This can be supported by adding a suggested_dt
member to advance_status
, if react_state
returns that as desired then it should be straightforward to experiment with this. And we might have other cases where we want to suggest a dt, like the estTimeStep
call that occurs at the end of the CTU advance.
closing this, since the retry with swapped Jacobians in Microphysics seems to be the main thing we needed