Skip to content

add timestep retry mechanism #125

@BenWibking

Description

@BenWibking

This is an old idea, but was specifically inspired by the implementation in Castro (https://amrex-astro.github.io/Castro/docs/timestepping.html#retry-mechanism) and Quokka (https://quokka-astro.github.io/quokka/instability/):

  • If the post-update state does not satisfy the CFL-stable timestep that was computed pre-update, then go back and re-do the hyperbolic update with a new timestep $\Delta t/2$ where $\Delta t$ was the just-used value of the timestep. Repeat recursively if necessary, up to a maximum number of retries.

This may be implemented in Parthenon codes by:

I don't think the default driver is set up for that at all. But maybe you modify the downstream's EvolutionDriver subclass to tweak Execute and maybe SetGlobalTimeStep? There you have the power to just tweak tm.dt and re-run Step()

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions