SpECTRE
v2025.03.17
|
Compute the source terms for the flux-conservative Valencia formulation of GRMHD with divergence cleaning, coupled with electron fraction. More...
#include <Sources.hpp>
Public Types | |
using | return_tags = implementation defined |
using | argument_tags = implementation defined |
Static Public Member Functions | |
static void | apply (gsl::not_null< Scalar< DataVector > * > source_tilde_tau, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > source_tilde_s, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > source_tilde_b, gsl::not_null< Scalar< DataVector > * > source_tilde_phi, const Scalar< DataVector > &tilde_d, const Scalar< DataVector > &tilde_ye, const Scalar< DataVector > &tilde_tau, const tnsr::i< DataVector, 3, Frame::Inertial > &tilde_s, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_b, const Scalar< DataVector > &tilde_phi, const tnsr::I< DataVector, 3, Frame::Inertial > &spatial_velocity, const tnsr::I< DataVector, 3, Frame::Inertial > &magnetic_field, const Scalar< DataVector > &rest_mass_density, const Scalar< DataVector > &electron_fraction, const Scalar< DataVector > &specific_internal_energy, const Scalar< DataVector > &lorentz_factor, const Scalar< DataVector > &pressure, const Scalar< DataVector > &lapse, const tnsr::i< DataVector, 3, Frame::Inertial > &d_lapse, const tnsr::iJ< DataVector, 3, Frame::Inertial > &d_shift, const tnsr::ii< DataVector, 3, Frame::Inertial > &spatial_metric, const tnsr::ijj< DataVector, 3, Frame::Inertial > &d_spatial_metric, const tnsr::II< DataVector, 3, Frame::Inertial > &inv_spatial_metric, const Scalar< DataVector > &sqrt_det_spatial_metric, const tnsr::ii< DataVector, 3, Frame::Inertial > &extrinsic_curvature, double constraint_damping_parameter) |
Compute the source terms for the flux-conservative Valencia formulation of GRMHD with divergence cleaning, coupled with electron fraction.
A flux-conservative system has the generic form:
where
For the Valencia formulation:
where
where