When the default prolongation type is chosen in a dynamical spacetime evolution, hydrodynamic and GRMHD fields can suffer from spurious oscillations generated at AMR refinement boundaries due to the high-order Lagrange polynomial prolongation.
This patch adds a simple Lagrange third-order prolongation operator to Carpet, which is more suitable for hydro and GRMHD field prolongations.
I would like for this to be the default prolongation type for the evolved conservative variables in IllinoisGRMHD and GiRaFFE, starting in the next ETK release (2018 H2), as it reduces numerical noise at AMR boundaries.
If you want a review for the ET, would you mind creating a ticket on the ET trac and linking the ticket and the pull request, please? Not having looked at anything yet: Carpet does provide lower order Lagrange interpolation operators, should you not be able to use those?
not having looked
you are doing this.
Seeing the number of hacks we now have for hydro ops. it may be useful to somehow give the ops a way of having a per-variable order so that one does not have to invent a new name each time one needs a new order. If needs be via a ProlongationOperatorOptsName tag.
I created a trac ticket. Agreed that it may be a bit hacky, but the alternative would require some doing, and this would be immediately useful as I plan to make it the default prolongation option for IllinoisGRMHD and GiRaFFE evolved variables.