SpECTRE  v2024.04.12
RadiationTransport::M1Grey::ComputeM1HydroCoupling< tmpl::list< NeutrinoSpecies... > > Struct Template Reference

#include <M1HydroCoupling.hpp>

Public Types

using return_tags = tmpl::list< Tags::M1HydroCouplingNormal< NeutrinoSpecies >..., Tags::M1HydroCouplingSpatial< Frame::Inertial, NeutrinoSpecies >... >
 
using argument_tags = tmpl::list< Tags::GreyEmissivity< NeutrinoSpecies >..., Tags::GreyAbsorptionOpacity< NeutrinoSpecies >..., Tags::GreyScatteringOpacity< NeutrinoSpecies >..., Tags::TildeJ< NeutrinoSpecies >..., Tags::TildeHNormal< NeutrinoSpecies >..., Tags::TildeHSpatial< Frame::Inertial, NeutrinoSpecies >..., hydro::Tags::SpatialVelocity< DataVector, 3 >, hydro::Tags::LorentzFactor< DataVector >, gr::Tags::Lapse< DataVector >, gr::Tags::SpatialMetric< DataVector, 3 >, gr::Tags::SqrtDetSpatialMetric< DataVector > >
 

Static Public Member Functions

static void apply (const gsl::not_null< typename Tags::M1HydroCouplingNormal< NeutrinoSpecies >::type * >... source_n, const gsl::not_null< typename Tags::M1HydroCouplingSpatial< Frame::Inertial, NeutrinoSpecies >::type * >... source_i, const typename Tags::GreyEmissivity< NeutrinoSpecies >::type &... emissivity, const typename Tags::GreyAbsorptionOpacity< NeutrinoSpecies >::type &... absorption_opacity, const typename Tags::GreyScatteringOpacity< NeutrinoSpecies >::type &... scattering_opacity, const typename Tags::TildeJ< NeutrinoSpecies >::type &... tilde_j, const typename Tags::TildeHNormal< NeutrinoSpecies >::type &... tilde_hn, const typename Tags::TildeHSpatial< Frame::Inertial, NeutrinoSpecies >::type &... tilde_hi, const tnsr::I< DataVector, 3 > &spatial_velocity, const Scalar< DataVector > &lorentz_factor, const Scalar< DataVector > &lapse, const tnsr::ii< DataVector, 3 > &spatial_metric, const Scalar< DataVector > &sqrt_det_spatial_metric)
 

Detailed Description

template<typename... NeutrinoSpecies>
struct RadiationTransport::M1Grey::ComputeM1HydroCoupling< tmpl::list< NeutrinoSpecies... > >

Compute the source terms of the M1 equation due to neutrino-matter interactions. These are:

\begin{align} \partial_t \tilde E = \alpha W (\sqrt{\gamma} \eta - \kappa_a \tilde J) + \alpha (\kappa_a + \kappa_s) H_n\\ \partial_t \tilde S_i = \alpha u_i (\sqrt{\gamma} \eta - \kappa_a \tilde J) - \alpha (\kappa_a + \kappa_s) H_i. \end{align}

with \(W\) the Lorentz factor, \(u_i = W v_i\) the spatial components of the fluid 4-velocity, \(\eta\) the emissivity, \(\kappa_{a,s}\) the absorption and scattering opacities, \(J\) the comoving energy density, and \(H_{n,i}\) the normal and spatial components of the comoving flux density.

The function returns in source_n the energy source and in source_i the momentum source. We write a separate action for these sources to make it easier to switch between implicit / explicit time stepping, as well as to add the source terms to both the fluid and M1 evolutions.


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