SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ForceFree::Fluxes Struct Reference

Compute the fluxes of the GRFFE system with divergence cleaning. More...

#include <Fluxes.hpp>

Public Types

using return_tags = implementation defined
 
using argument_tags = implementation defined
 

Static Public Member Functions

static void apply (gsl::not_null< tnsr::IJ< DataVector, 3, Frame::Inertial > * > tilde_e_flux, gsl::not_null< tnsr::IJ< DataVector, 3, Frame::Inertial > * > tilde_b_flux, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_psi_flux, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_phi_flux, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_q_flux, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_e, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_b, const Scalar< DataVector > &tilde_psi, const Scalar< DataVector > &tilde_phi, const Scalar< DataVector > &tilde_q, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_j, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, 3, Frame::Inertial > &shift, const Scalar< DataVector > &sqrt_det_spatial_metric, const tnsr::ii< DataVector, 3, Frame::Inertial > &spatial_metric, const tnsr::II< DataVector, 3, Frame::Inertial > &inv_spatial_metric)
 

Detailed Description

Compute the fluxes of the GRFFE system with divergence cleaning.

Fj(E~i)=βjE~i+α(γijψ~ϵ(3)ijkB~k)Fj(B~i)=βjB~i+α(γijϕ~+ϵ(3)ijkE~k)Fj(ψ~)=βjψ~+αE~jFj(ϕ~)=βjϕ~+αB~jFj(q~)=αγJjβjq~

where the conserved variables E~i,B~i,ψ~,ϕ~,q~ are densitized electric field, magnetic field, electric divergence cleaning field, magnetic divergence cleaning field, and electric charge density. Ji is the spatial electric current density.

ϵ(3)ijk is the spatial Levi-Civita tensor defined as

ϵ(3)ijknμϵμijk=1gnμ[μijk]=1γ[ijk]

where ϵμνρσ is the Levi-Civita tensor, g is the determinant of spacetime metric, γ is the determinant of spatial metric, nμ is the normal to spatial hypersurface. Also, [abcd] and [ijk] are the usual antisymmetric symbols (which only have the value ±1) with 4 and 3 indices, respectively, with the sign [0123]=[123]=+1. Note that

ϵμνρσ=g[μνρσ],andϵμνρσ=1g[μνρσ]


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