SpECTRE  v2024.04.12
grmhd::ValenciaDivClean::PrimitiveRecoverySchemes::KastaunEtAl Class Reference

Compute the primitive variables from the conservative variables using the scheme of [98]. More...

#include <KastaunEtAl.hpp>

Static Public Member Functions

template<bool EnforcePhysicality, typename EosType >
static std::optional< PrimitiveRecoveryDataapply (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 ()
 

Detailed Description

Compute the primitive variables from the conservative variables using the scheme of [98].

In the notation of the Kastaun paper, tau is \(D 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\).

In terms of the conservative variables (in our notation):

\begin{align*} q = & \frac{{\tilde \tau}}{{\tilde D}} \\ r = & \frac{\gamma^{kl} {\tilde S}_k {\tilde S}_l}{{\tilde D}^2} \\ t^2 = & \frac{({\tilde B}^k {\tilde S}_k)^2}{{\tilde D}^3 \sqrt{\gamma}} \\ s = & \frac{\gamma_{kl} {\tilde B}^k {\tilde B}^l}{{\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^{kl}\) are the determinant and inverse of the spatial metric \(\gamma_{kl}\).

Note
This scheme does not use the initial guess for the pressure.

The documentation for this class was generated from the following file: