SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
RadiationTransport::M1Grey::ComputeSources< NeutrinoSpecies > Struct Template Reference

Compute the curvature source terms for the flux-balanced grey M1 radiation transport. More...

#include <Sources.hpp>

Public Types

using return_tags = implementation defined
 
using argument_tags = implementation defined
 

Static Public Member Functions

static void apply (const gsl::not_null< typename Tags::TildeE< Frame::Inertial, NeutrinoSpecies >::type * >... sources_tilde_e, const gsl::not_null< typename Tags::TildeS< Frame::Inertial, NeutrinoSpecies >::type * >... sources_tilde_s, 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 > &d_lapse, const tnsr::iJ< DataVector, 3 > &d_shift, const tnsr::ijj< DataVector, 3 > &d_spatial_metric, const tnsr::II< DataVector, 3 > &inv_spatial_metric, const tnsr::ii< DataVector, 3 > &extrinsic_curvature, const tnsr::ii< DataVector, 3 > &spatial_metric, const Scalar< DataVector > &emissivity, const Scalar< DataVector > &absorption_opacity, const Scalar< DataVector > &scattering_opacity, const typename Tags::TildeJ< NeutrinoSpecies >::type &... tilde_j, const typename Tags::TildeHNormal< NeutrinoSpecies >::type &... tilde_h_normal, const typename Tags::TildeHSpatial< Frame::Inertial, NeutrinoSpecies >::type &... tilde_h_spatial, const tnsr::I< DataVector, 3 > &spatial_velocity, const Scalar< DataVector > &lorentz, const Scalar< DataVector > &sqrt_det_spatial_metric)
 

Detailed Description

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

Compute the curvature source terms for the flux-balanced grey M1 radiation transport.

A flux-balanced system has the generic form:

tUi+mFm(Ui)=S(Ui)

where Fa() denotes the flux of a conserved variable Ui and S() denotes the source term for the conserved variable.

For the grey M1 formalism (neglecting coupling to the fluid):

S(E~)=αP~ijKijS~iiα,S(S~i)=E~iα+S~kiβk+12αP~jkiγjk,

where E~, S~i, P~ij are the densitized energy, momentum, and pressure tensor of the neutrinos/photons, Kij is the extrinsic curvature, and α, βi, γij are the lapse, shift and 3-metric.

In the main function, we loop over all neutrino species, and then call the actual implementation of the curvature source terms.


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