SpECTRE  v2024.04.12
RelativisticEuler::Valencia::ComputeSources< Dim > Struct Template Reference

Compute the source terms for the flux-conservative Valencia formulation of the relativistic Euler system. More...

#include <Sources.hpp>

Public Types

using return_tags = tmpl::list< ::Tags::Source< RelativisticEuler::Valencia::Tags::TildeTau >, ::Tags::Source< RelativisticEuler::Valencia::Tags::TildeS< Dim > > >
 
using argument_tags = tmpl::list< RelativisticEuler::Valencia::Tags::TildeD, RelativisticEuler::Valencia::Tags::TildeTau, RelativisticEuler::Valencia::Tags::TildeS< Dim >, hydro::Tags::SpatialVelocity< DataVector, Dim >, hydro::Tags::Pressure< DataVector >, gr::Tags::Lapse< DataVector >, ::Tags::deriv< gr::Tags::Lapse< DataVector >, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::deriv< gr::Tags::Shift< DataVector, Dim >, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::deriv< gr::Tags::SpatialMetric< DataVector, Dim >, tmpl::size_t< Dim >, Frame::Inertial >, gr::Tags::InverseSpatialMetric< DataVector, Dim >, gr::Tags::SqrtDetSpatialMetric< DataVector >, gr::Tags::ExtrinsicCurvature< DataVector, Dim > >
 

Static Public Member Functions

static void apply (gsl::not_null< Scalar< DataVector > * > source_tilde_tau, gsl::not_null< tnsr::i< DataVector, Dim, Frame::Inertial > * > source_tilde_s, const Scalar< DataVector > &tilde_d, const Scalar< DataVector > &tilde_tau, const tnsr::i< DataVector, Dim, Frame::Inertial > &tilde_s, const tnsr::I< DataVector, Dim, Frame::Inertial > &spatial_velocity, const Scalar< DataVector > &pressure, const Scalar< DataVector > &lapse, const tnsr::i< DataVector, Dim, Frame::Inertial > &d_lapse, const tnsr::iJ< DataVector, Dim, Frame::Inertial > &d_shift, const tnsr::ijj< DataVector, Dim, Frame::Inertial > &d_spatial_metric, const tnsr::II< DataVector, Dim, Frame::Inertial > &inv_spatial_metric, const Scalar< DataVector > &sqrt_det_spatial_metric, const tnsr::ii< DataVector, Dim, Frame::Inertial > &extrinsic_curvature)
 

Detailed Description

template<size_t Dim>
struct RelativisticEuler::Valencia::ComputeSources< Dim >

Compute the source terms for the flux-conservative Valencia formulation of the relativistic Euler system.

A flux-conservative system has the generic form:

\[ \partial_t U_i + \partial_m F^m(U_i) = S(U_i) \]

where \(F^a()\) denotes the flux of a conserved variable \(U_i\) and \(S()\) denotes the source term for the conserved variable.

For the Valencia formulation:

\begin{align*} S({\tilde D}) = & 0\\ S({\tilde S}_i) = & \frac{1}{2} \alpha {\tilde S}^{mn} \partial_i \gamma_{mn} + {\tilde S}_m \partial_i \beta^m - ({\tilde D} + {\tilde \tau}) \partial_i \alpha \\ S({\tilde \tau}) = & \alpha {\tilde S}^{mn} K_{mn} - {\tilde S}^m \partial_m \alpha \end{align*}

where

\begin{align*} {\tilde S}^i = & {\tilde S}_m \gamma^{im} \\ {\tilde S}^{ij} = & {\tilde S}^i v^j + \sqrt{\gamma} p \gamma^{ij} \end{align*}

where \({\tilde D}\), \({\tilde S}_i\), and \({\tilde \tau}\) are a generalized mass-energy density, momentum density, and specific internal energy density as measured by an Eulerian observer, \(\gamma\) is the determinant of the spatial metric \(\gamma_{ij}\), \(\rho\) is the rest mass density, \(W\) is the Lorentz factor, \(h\) is the specific enthalpy, \(v^i\) is the spatial velocity, \(p\) is the pressure, \(\alpha\) is the lapse, \(\beta^i\) is the shift, and \(K_{ij}\) is the extrinsic curvature.


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