trixi-framework / trixi-framework/Trixi.jl
How do we want to implement mesh stretching (for the cubed sphere mesh)?
- Dominant language
- Julia
- Stars
- 731
- Forks
- 166
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 25
Description
While the `P4estMesh` supports local mesh refinement and AMR, this can be problematic for complex simulations like the baroclinic instability. There, well-balanced errors make the simulation on a vertically non-conforming mesh unusable. Unfortunately, the `P4estMesh` doesn't support only horizontal refinement (yet?).
A simple way to avoid the problem of non-conforming meshes is to stretch the cubed sphere mesh smoothly towards the area that is to refine. A mapping for this is described [here](https://doi.org/10.1175/JCLI-D-15-0389.1). [This mapping is also used by FV3](https://www.gfdl.noaa.gov/fv3/fv3-grids/), the dynamical core of the Global Forecast System by the National Weather Service of the United States.

I already implemented this feature for Trixi:


However, now there's the question of how to include this feature in the API. Do we want to write this mapping into the `P4estMesh` constructor for cubed spheres and add a kwarg to set the stretching factor? Or do we want to allow passing arbitrary functions to transform the cubed sphere? In this case, do we want to add this option to the HOHQMesh constructor as well?
Contributor guide
Assessment
This issue has not been assessed yet.