SpECTRE  2021.08.02
RadiationTransport::M1Grey::ComputeFluxes< NeutrinoSpecies > Struct Template Reference

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<>, gr::Tags::Shift< 3 >, gr::Tags::SpatialMetric< 3 >, gr::Tags::InverseSpatialMetric< 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) noexcept
 

Detailed Description

template<typename... NeutrinoSpecies>
struct RadiationTransport::M1Grey::ComputeFluxes< NeutrinoSpecies >

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.