SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
grmhd::ValenciaDivClean::PrimitiveRecoverySchemes::NewmanHamlin Class Reference

Compute the primitive variables from the conservative variables using the scheme of Newman and Hamlin, SIAM J. Sci. Comput., 36(4) B661-B683 (2014). More...

#include <NewmanHamlin.hpp>

Static Public Member Functions

template<bool EnforcePhysicality, typename EosType >
static std::optional< PrimitiveRecoveryDataapply (double initial_guess_for_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 Newman and Hamlin, SIAM J. Sci. Comput., 36(4) B661-B683 (2014).

In the Newman and Hamlin paper, tau is eρW, momentum_density_squared is M2, momentum_density_dot_magnetic_field is T, magnetic_field_squared is B2, and rest_mass_density_times_lorentz_factor is ρ~. Furthermore, the returned PrimitiveRecoveryData.rho_h_w_squared is L.

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

(1)e=D~+τ~γ(2)M2=γmnS~mS~nγ(3)T=B~mS~mγ(4)B2=γmnB~mB~nγ(5)ρ~=D~γ

where the conserved variables D~, S~i, τ~, and B~i are a generalized mass-energy density, momentum density, specific internal energy density, and magnetic field, and γ and γmn are the determinant and inverse of the spatial metric γmn.


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