|
SpECTRE
2021.08.02
|
Compute the primitive variables from the conservative variables using the scheme of Palenzuela et al, Phys. Rev. D 92, 044045 (2015). More...
#include <PalenzuelaEtAl.hpp>
Static Public Member Functions | |
| template<size_t ThermodynamicDim> | |
| static std::optional< PrimitiveRecoveryData > | apply (double, double total_energy_density, double momentum_density_squared, double momentum_density_dot_magnetic_field, double magnetic_field_squared, double rest_mass_density_times_lorentz_factor, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state) noexcept |
| static const std::string | name () noexcept |
Compute the primitive variables from the conservative variables using the scheme of Palenzuela et al, Phys. Rev. D 92, 044045 (2015).
In the notation of the Palenzuela paper, total_energy_density is \(D (1+q)\), momentum_density_squared is \(r^2 D^2\), momentum_density_dot_magnetic_field is \(t D^{\frac{3}{2}}\), magnetic_field_squared is \(s D\), and rest_mass_density_times_lorentz_factor is \(D\). Furthermore, the returned PrimitiveRecoveryData.rho_h_w_squared is \(x D\). Note also that \(h\) in the Palenzuela paper is the specific enthalpy times the rest mass density.
In terms of the conservative variables (in our notation):
\begin{align*} q = & \frac{{\tilde \tau}}{{\tilde D}} \\ r = & \frac{\gamma^{mn} {\tilde S}_m {\tilde S}_n}{{\tilde D}^2} \\ t^2 = & \frac{({\tilde B}^m {\tilde S}_m)^2}{{\tilde D}^3 \sqrt{\gamma}} \\ s = & \frac{\gamma_{mn} {\tilde B}^m {\tilde B}^n}{{\tilde D}\sqrt{\gamma}} \end{align*}
where the conserved variables \({\tilde D}\), \({\tilde S}_i\), \({\tilde \tau}\), and \({\tilde B}^i\) are a generalized mass-energy density, momentum density, specific internal energy density, and magnetic field, and \(\gamma\) and \(\gamma^{mn}\) are the determinant and inverse of the spatial metric \(\gamma_{mn}\).