SpECTRE
v2024.04.12
|
Compute the primitive variables from the conservative variables using the scheme of [72]. More...
#include <KastaunEtAlHydro.hpp>
Static Public Member Functions | |
template<bool EnforcePhysicality, typename EosType > | |
static std::optional< PrimitiveRecoveryData > | apply (double initial_guess_pressure, double tau, double momentum_density_squared, double momentum_density_dot_magnetic_field, double magnetic_field_squared, double rest_mass_density_times_lorentz_factor, double electron_fraction, const EosType &equation_of_state, const grmhd::ValenciaDivClean::PrimitiveFromConservativeOptions &primitive_from_conservative_options) |
static const std::string | name () |
Compute the primitive variables from the conservative variables using the scheme of [72].
In the notation of the Kastaun paper, tau
is \(D q\), momentum_density_squared
is \(r^2 D^2\), rest_mass_density_times_lorentz_factor
is \(D\). Furthermore, the algorithm iterates over \(z\), which is the Lorentz factor times the absolute magnetitude of the velocity.
In terms of the conservative variables (in our notation):
\begin{align*} q = & \frac{{\tilde \tau}}{{\tilde D}} \\ r^2 = & \frac{\gamma^{kl} {\tilde S}_k {\tilde S}_l}{{\tilde D}^2} \\ \end{align*}
where the conserved variables \({\tilde D}\), \({\tilde S}_i\) and \({\tilde \tau}\) are a generalized mass-energy density, momentum density and specific internal energy density, and \(\gamma\) and \(\gamma^{kl}\) are the determinant and inverse of the spatial metric \(\gamma_{kl}\).