To get clean convergence with AMR we need an AMR playback feature, where we can lock AMR to the output of another simulation. Feature list:
- Write AMR decisions to a file.
- Allow AMR to read this file to play back the decisions. These decisions operate on the new grid, which may have higher or lower p-refinement from the start and will therefore also have higher or lower p-refinement later (for simplicity we can require that the new grid has the same h-refinement).
- Reading the file should be possible while it is still written to, or at least this should be handled gracefully. For example, a reference simulation runs at Lev2 that is writing AMR decisions to a file. Another simulation at Lev3 plays back these AMR decisions, so it depends on the Lev2 simulation output. These two simulations should be able to run at the same time. Now if for some reason Lev2 stalls (e.g. in resubmission), then Lev3 should wait until it can proceed. This dependency resolution can be limited to segment boundaries if that makes it easier.
In the future we can also consider running different Levs in the same executable to improve parallelization. Either way, we need the playback feature to add higher or lower Levs afterwards.
To get clean convergence with AMR we need an AMR playback feature, where we can lock AMR to the output of another simulation. Feature list:
In the future we can also consider running different Levs in the same executable to improve parallelization. Either way, we need the playback feature to add higher or lower Levs afterwards.