This PR adds support for general relativistic hydrodynamics. So far,
Only Cartesian Kerr-Schild coordinates are implemented.
Only the HLLE Riemann solver is available.
On a Cartesian mesh, the grid will contain everything inside the event horizon. Following other implementations, we introduce a parameter <coord>/rmin that specifies the (Cartesian) radius within which we "excise" during integration. In this merge request, this excision is performed inside of the ConsToPrim routine. Primitives are only updated if they fall outside of <coord>/rmin. Inside rmin, the primitives retain whatever they were set to in the initial condition (a Dirichlet boundary condition, if you will). Similarly, the conservatives are reset to their initial condition values within rmin. I recommend that one operates with rmin > 1.5. The metric computation prevents the Cartesian radius from being larger than 1. rmin should be greater than this.
So far, I have looked at the Bondi problem. A major overhaul to the Bondi problem will enter in a later merge request. Early results show strict second order error convergence. @jmstone216 has looked at the GR torus problem and shock tubes (in Minkowski space, but with GR infrastructure).
Routines for flooring, first order flux corrections, and more careful examinations of excision will be explored in the future.
In GitLab by @pdmullen on Sep 17, 2021, 16:03
Merges gr -> master
This PR adds support for general relativistic hydrodynamics. So far,
On a Cartesian mesh, the grid will contain everything inside the event horizon. Following other implementations, we introduce a parameter
<coord>/rmin
that specifies the (Cartesian) radius within which we "excise" during integration. In this merge request, this excision is performed inside of the ConsToPrim routine. Primitives are only updated if they fall outside of<coord>/rmin
. Insidermin
, the primitives retain whatever they were set to in the initial condition (a Dirichlet boundary condition, if you will). Similarly, the conservatives are reset to their initial condition values withinrmin
. I recommend that one operates withrmin
> 1.5. The metric computation prevents the Cartesian radius from being larger than 1.rmin
should be greater than this.So far, I have looked at the Bondi problem. A major overhaul to the Bondi problem will enter in a later merge request. Early results show strict second order error convergence. @jmstone216 has looked at the GR torus problem and shock tubes (in Minkowski space, but with GR infrastructure).
Routines for flooring, first order flux corrections, and more careful examinations of excision will be explored in the future.