SpECTRE
v2024.05.11
|
The fluxes of the conservative variables in the M1 scheme. More...
#include <Fluxes.hpp>
Public Types | |
using | return_tags = tmpl::list<::Tags::Flux< Tags::TildeE< Frame::Inertial, NeutrinoSpecies >, tmpl::size_t< 3 >, Frame::Inertial >..., ::Tags::Flux< Tags::TildeS< Frame::Inertial, NeutrinoSpecies >, tmpl::size_t< 3 >, Frame::Inertial >... > |
using | argument_tags = tmpl::list< Tags::TildeE< Frame::Inertial, NeutrinoSpecies >..., Tags::TildeS< Frame::Inertial, NeutrinoSpecies >..., Tags::TildeP< Frame::Inertial, NeutrinoSpecies >..., gr::Tags::Lapse< DataVector >, gr::Tags::Shift< DataVector, 3 >, gr::Tags::SpatialMetric< DataVector, 3 >, gr::Tags::InverseSpatialMetric< DataVector, 3 > > |
Static Public Member Functions | |
static void | apply (const gsl::not_null< typename ::Tags::Flux< Tags::TildeE< Frame::Inertial, NeutrinoSpecies >, tmpl::size_t< 3 >, Frame::Inertial >::type * >... tilde_e_flux, const gsl::not_null< typename ::Tags::Flux< Tags::TildeS< Frame::Inertial, NeutrinoSpecies >, tmpl::size_t< 3 >, Frame::Inertial >::type * >... tilde_s_flux, const typename Tags::TildeE< Frame::Inertial, NeutrinoSpecies >::type &... tilde_e, const typename Tags::TildeS< Frame::Inertial, NeutrinoSpecies >::type &... tilde_s, const typename Tags::TildeP< Frame::Inertial, NeutrinoSpecies >::type &... tilde_p, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, 3, Frame::Inertial > &shift, const tnsr::ii< DataVector, 3, Frame::Inertial > &spatial_metric, const tnsr::II< DataVector, 3, Frame::Inertial > &inv_spatial_metric) |
The fluxes of the conservative variables in the M1 scheme.
\begin{align*} F^i({\tilde E}) = &~ \alpha \gamma^{ij} {\tilde S}_j - \beta^j {\tilde E} \\ F^i({\tilde S}_j) = &~ \alpha {\tilde P}^{ik} \gamma_{kj} - \beta^i {\tilde S}_j \end{align*}
where the conserved variables \({\tilde E}\), \({\tilde S}_i\), are a generalized mass-energy density and momentum density. Furthermore, \({\tilde P^{ij}}\) is the pressure tensor density of the radiation field, \(\alpha\) is the lapse, \(\beta^i\) is the shift, \(\gamma_{ij}\) the 3-metric, and \(\gamma^{ij}\) its inverse.
In the main function, we loop over all neutrino species, and then call the actual implementation of the fluxes.