SpECTRE  v2021.12.06
CurvedScalarWave::ComputeNormalDotFluxes< Dim > Struct Template Reference

Compute fluxes for the scalar-wave system in curved spacetime. More...

#include <Equations.hpp>

Public Types

using argument_tags = tmpl::list< Pi, Phi< Dim >, Psi, Tags::ConstraintGamma1, Tags::ConstraintGamma2, gr::Tags::Lapse<>, gr::Tags::Shift< Dim >, gr::Tags::InverseSpatialMetric< Dim >, ::Tags::Normalized< domain::Tags::UnnormalizedFaceNormal< Dim, Frame::Inertial > > >
 

Static Public Member Functions

static void apply (gsl::not_null< Scalar< DataVector > * > pi_normal_dot_flux, gsl::not_null< tnsr::i< DataVector, Dim > * > phi_normal_dot_flux, gsl::not_null< Scalar< DataVector > * > psi_normal_dot_flux, const Scalar< DataVector > &pi, const tnsr::i< DataVector, Dim > &phi, const Scalar< DataVector > &psi, const Scalar< DataVector > &gamma1, const Scalar< DataVector > &gamma2, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, Dim > &shift, const tnsr::II< DataVector, Dim > &inverse_spatial_metric, const tnsr::i< DataVector, Dim > &interface_unit_normal)
 

Detailed Description

template<size_t Dim>
struct CurvedScalarWave::ComputeNormalDotFluxes< Dim >

Compute fluxes for the scalar-wave system in curved spacetime.

Details

The expressions for fluxes is obtained from [60] by taking the principal part of equations 15, 23, and 24, and replacing derivatives \( \partial_k \) with the unit normal \( n_k \) (c.f. Gauss' theorem). This gives:

\begin{align*} F(\psi) &= -(1 + \gamma_1) \beta^k n_k \psi \\ F(\Pi) &= - \beta^k n_k \Pi + \alpha g^{ki}n_k \Phi_{i} - \gamma_1 \gamma_2 \beta^k n_k \Psi \\ F(\Phi_{i}) &= - \beta^k n_k \Phi_{i} + \alpha n_i \Pi - \gamma_2 \alpha n_i \psi \end{align*}

where \(\psi\) is the scalar field, \(\Pi\) is its conjugate momentum, \( \Phi_{i} \) is an auxiliary field defined as the spatial derivative of \(\psi\), \(\alpha\) is the lapse, \( \beta^k \) is the shift, \( g^{ki} \) is the inverse spatial metric, and \( \gamma_1, \gamma_2\) are constraint damping parameters. Note that the last term in \(F(\Pi)\) will be identically zero, as it is necessary to set \(\gamma_1\gamma_2=0\) in order to make this first-order formulation of the curved scalar wave system symmetric hyperbolic.


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