SpECTRE  v2024.04.12
ForceFree::Sources Struct Reference

Compute the source terms for the GRFFE system with divergence cleaning. More...

#include <Sources.hpp>

Public Types

using return_tags = tmpl::list<::Tags::Source< Tags::TildeE >, ::Tags::Source< Tags::TildeB >, ::Tags::Source< Tags::TildePsi >, ::Tags::Source< Tags::TildePhi > >
 
using argument_tags = tmpl::list< Tags::TildeE, Tags::TildeB, Tags::TildePsi, Tags::TildePhi, Tags::TildeQ, Tags::KappaPsi, Tags::KappaPhi, Tags::ParallelConductivity, gr::Tags::Lapse< DataVector >, ::Tags::deriv< gr::Tags::Lapse< DataVector >, tmpl::size_t< 3 >, Frame::Inertial >, ::Tags::deriv< gr::Tags::Shift< DataVector, 3 >, tmpl::size_t< 3 >, Frame::Inertial >, ::Tags::deriv< gr::Tags::SpatialMetric< DataVector, 3 >, tmpl::size_t< 3 >, Frame::Inertial >, gr::Tags::SpatialMetric< DataVector, 3 >, gr::Tags::InverseSpatialMetric< DataVector, 3 >, gr::Tags::SqrtDetSpatialMetric< DataVector >, gr::Tags::ExtrinsicCurvature< DataVector, 3 > >
 

Static Public Member Functions

static void apply (gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > source_tilde_e, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > source_tilde_b, gsl::not_null< Scalar< DataVector > * > source_tilde_psi, gsl::not_null< Scalar< DataVector > * > source_tilde_phi, 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, double kappa_psi, double kappa_phi, double parallel_conductivity, const Scalar< DataVector > &lapse, const tnsr::i< DataVector, 3, Frame::Inertial > &d_lapse, const tnsr::iJ< DataVector, 3, Frame::Inertial > &d_shift, const tnsr::ijj< DataVector, 3, Frame::Inertial > &d_spatial_metric, const tnsr::ii< DataVector, 3, Frame::Inertial > &spatial_metric, const tnsr::II< DataVector, 3, Frame::Inertial > &inv_spatial_metric, const Scalar< DataVector > &sqrt_det_spatial_metric, const tnsr::ii< DataVector, 3, Frame::Inertial > &extrinsic_curvature)
 

Detailed Description

Compute the source terms for the GRFFE system with divergence cleaning.

\begin{align*} S(\tilde{E}^i) &= -\alpha \sqrt{\gamma} J^i - \tilde{E}^j \partial_j \beta^i + \tilde{\psi} ( \gamma^{ij} \partial_j \alpha - \alpha \gamma^{jk} \Gamma^i_{jk} ) \\ S(\tilde{B}^i) &= -\tilde{B}^j \partial_j \beta^i + \tilde{\phi} ( \gamma^{ij} \partial_j \alpha - \alpha \gamma^{jk} \Gamma^i_{jk} ) \\ S(\tilde{\psi}) &= \tilde{E}^k \partial_k \alpha + \alpha \tilde{q} - \alpha \tilde{\phi} ( K + \kappa_\phi ) \\ S(\tilde{\phi}) &= \tilde{B}^k \partial_k \alpha - \alpha \tilde{\phi} (K + \kappa_\phi ) \\ S(\tilde{q}) &= 0 \end{align*}

where the conserved variables \(\tilde{E}^i, \tilde{B}^i, \tilde{\psi}, \tilde{\phi}, \tilde{q}\) are densitized electric field, magnetic field, magnetic divergence cleaning field, electric divergence cleaning field, and electric charge density.

\(J^i\) is the spatial electric current density, \(\alpha\) is the lapse, \(\beta^i\) is the shift, \(\gamma^{ij}\) is the spatial metric, \(\gamma\) is the determinant of spatial metric, \(\Gamma^i_{jk}\) is the spatial Christoffel symbol, \(K\) is the trace of extrinsic curvature. \(\kappa_\phi\) and \(\kappa_\psi\) are damping parameters associated with divergence cleaning of magnetic and electric fields, respectively.


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