SpECTRE  v2024.04.12
NewtonianEuler::ComputeFluxes< Dim > Struct Template Reference

Compute the fluxes of the conservative variables of the Newtonian Euler system. More...

#include <Fluxes.hpp>

Public Types

using return_tags = tmpl::list< ::Tags::Flux< Tags::MassDensityCons, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::Flux< Tags::MomentumDensity< Dim >, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::Flux< Tags::EnergyDensity, tmpl::size_t< Dim >, Frame::Inertial > >
 
using argument_tags = tmpl::list< Tags::MomentumDensity< Dim >, Tags::EnergyDensity, hydro::Tags::SpatialVelocity< DataVector, Dim >, hydro::Tags::Pressure< DataVector > >
 

Static Public Member Functions

static void apply (gsl::not_null< tnsr::I< DataVector, Dim > * > mass_density_cons_flux, gsl::not_null< tnsr::IJ< DataVector, Dim > * > momentum_density_flux, gsl::not_null< tnsr::I< DataVector, Dim > * > energy_density_flux, const tnsr::I< DataVector, Dim > &momentum_density, const Scalar< DataVector > &energy_density, const tnsr::I< DataVector, Dim > &velocity, const Scalar< DataVector > &pressure)
 

Detailed Description

template<size_t Dim>
struct NewtonianEuler::ComputeFluxes< Dim >

Compute the fluxes of the conservative variables of the Newtonian Euler system.

The fluxes are \((\text{Dim} + 2)\) vectors of dimension \(\text{Dim}\). Denoting the flux of the conservative variable \(u\) as \(F(u)\), one has

\begin{align*} F^i(\rho) &= S^i\\ F^i(S^j) &= S^i v^j + \delta^{ij}p\\ F^i(e) &= (e + p)v^i \end{align*}

where \(S^i\) is the momentum density, \(e\) is the energy density, \(v^i\) is the velocity, \(p\) is the pressure, and \(\delta^{ij}\) is the Kronecker delta. This form of the fluxes combines conservative and primitive variables (while the velocity appears explicitly, the pressure implicitly depends, for instance, on the mass density and the specific internal energy), so the conversion from one variable set to the other must be known prior to calling this function.


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