GRHD: Implement FV+slope limiters for doublecartoon version
Implements the FV+slope limiter machinery for the doublecartoon formulation.
While testing I noticed that the boundary conditions for a reflection boundary were implemented incorrectly.
To this end I quickly drafted a BdryBufferedData
type with which one can abstract the buffer zones away.
This solution is not optimal performance wise, because it incurs quite some allocations (although I think it should be stack-allocateable...).
I have not bothered to update the spherical1d formulation, but instead inserted a
Nevermind, I already fixed the todos, in order to make the reftests work.TODO
. So this needs to be updated in a separate PR.
Fixing the bdry conditions helped to improve the quality of the results, however, we are not even close yet to results from the literature. Because of that I also now implemented the Roe method instead of the LLF method to compute the numerical fluxes, because that method was also used in the paper Font et al 2000 PRD 61 044011. This improves things too, but we are still worse than those results. In particular, we use more resources and work in lower dimensions than that paper and yet we have larger errors ... So this requires further investigations.
Also adds the following new parameters:
-
fv_numerical_flux
: the double cartoon version now implements the LLF and Roe flux. - new option for
slope_limiter_method
:MC
, this limiter is taken from Font et al 2002, PRD 65 084024.