SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
gh::TimeDerivative< AllSolutionsForChristoffelAnalytic, Dim > Struct Template Reference

Compute the RHS of the Generalized Harmonic formulation of Einstein's equations. More...

#include <TimeDerivative.hpp>

Public Types

using temporary_tags
using argument_tags

Static Public Member Functions

static evolution::dg::TimeDerivativeDecisions< Dim > apply (gsl::not_null< tnsr::aa< DataVector, Dim > * > dt_spacetime_metric, gsl::not_null< tnsr::aa< DataVector, Dim > * > dt_pi, gsl::not_null< tnsr::iaa< DataVector, Dim > * > dt_phi, gsl::not_null< Scalar< DataVector > * > temp_gamma1, gsl::not_null< Scalar< DataVector > * > temp_gamma2, gsl::not_null< tnsr::a< DataVector, Dim > * > temp_gauge_function, gsl::not_null< tnsr::ab< DataVector, Dim > * > temp_spacetime_deriv_gauge_function, gsl::not_null< Scalar< DataVector > * > gamma1gamma2, gsl::not_null< Scalar< DataVector > * > half_half_pi_two_normals, gsl::not_null< Scalar< DataVector > * > normal_dot_gauge_constraint, gsl::not_null< Scalar< DataVector > * > gamma1_plus_1, gsl::not_null< tnsr::a< DataVector, Dim > * > pi_one_normal, gsl::not_null< tnsr::a< DataVector, Dim > * > gauge_constraint, gsl::not_null< tnsr::i< DataVector, Dim > * > half_phi_two_normals, gsl::not_null< tnsr::aa< DataVector, Dim > * > shift_dot_three_index_constraint, gsl::not_null< tnsr::aa< DataVector, Dim > * > mesh_velocity_dot_three_index_constraint, gsl::not_null< tnsr::ia< DataVector, Dim > * > phi_one_normal, gsl::not_null< tnsr::aB< DataVector, Dim > * > pi_2_up, gsl::not_null< tnsr::iaa< DataVector, Dim > * > three_index_constraint, gsl::not_null< tnsr::Iaa< DataVector, Dim > * > phi_1_up, gsl::not_null< tnsr::iaB< DataVector, Dim > * > phi_3_up, gsl::not_null< tnsr::abC< DataVector, Dim > * > christoffel_first_kind_3_up, gsl::not_null< Scalar< DataVector > * > lapse, gsl::not_null< tnsr::I< DataVector, Dim > * > shift, gsl::not_null< tnsr::II< DataVector, Dim > * > inverse_spatial_metric, gsl::not_null< Scalar< DataVector > * > det_spatial_metric, gsl::not_null< Scalar< DataVector > * > sqrt_det_spatial_metric, gsl::not_null< tnsr::AA< DataVector, Dim > * > inverse_spacetime_metric, gsl::not_null< tnsr::abb< DataVector, Dim > * > christoffel_first_kind, gsl::not_null< tnsr::Abb< DataVector, Dim > * > christoffel_second_kind, gsl::not_null< tnsr::a< DataVector, Dim > * > trace_christoffel, gsl::not_null< tnsr::A< DataVector, Dim > * > normal_spacetime_vector, const tnsr::iaa< DataVector, Dim > &d_spacetime_metric, const tnsr::iaa< DataVector, Dim > &d_pi, const tnsr::ijaa< DataVector, Dim > &d_phi, const tnsr::aa< DataVector, Dim > &spacetime_metric, const tnsr::aa< DataVector, Dim > &pi, const tnsr::iaa< DataVector, Dim > &phi, const Scalar< DataVector > &gamma0, const Scalar< DataVector > &gamma1, const Scalar< DataVector > &gamma2, const gauges::GaugeCondition &gauge_condition, const Mesh< Dim > &mesh, double time, const tnsr::I< DataVector, Dim, Frame::Inertial > &inertial_coords, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, Frame::Inertial > &inverse_jacobian, const std::optional< tnsr::I< DataVector, Dim, Frame::Inertial > > &mesh_velocity)

Detailed Description

template<class AllSolutionsForChristoffelAnalytic, size_t Dim>
struct gh::TimeDerivative< AllSolutionsForChristoffelAnalytic, Dim >

Compute the RHS of the Generalized Harmonic formulation of Einstein's equations.

The evolved variables are the spacetime metric \(g_{ab}\), its spatial derivative \(\Phi_{iab}=\partial_i g_{ab}\), and conjugate momentum \(\Pi_{ab}=n^c\partial_c g_{ab}\), where \(n^a\) is the spacetime unit normal vector. The evolution equations are (Eqs. 35-57 of [132])

\begin{align} \partial_t g_{ab}- &\left(1+\gamma_1\right)\beta^k\partial_k g_{ab} - \gamma_1 v^i_g \mathcal{C}_{iab} = -\alpha \Pi_{ab}-\gamma_1\beta^i\Phi_{iab}, \\ \partial_t\Pi_{ab}- &\beta^k\partial_k\Pi_{ab} + \alpha \gamma^{ki}\partial_k\Phi_{iab} - \gamma_1\gamma_2\beta^k\partial_kg_{ab} - \gamma_1 \gamma_2 v^i_g \mathcal{C}_{iab} \notag\\ =&2\alpha g^{cd}\left(\gamma^{ij}\Phi_{ica}\Phi_{jdb} - \Pi_{ca}\Pi_{db} - g^{ef}\Gamma_{ace}\Gamma_{bdf}\right) \notag \\ &-2\alpha \nabla_{(a}H_{b)} - \frac{1}{2}\alpha n^c n^d\Pi_{cd}\Pi_{ab} - \alpha n^c \Pi_{ci}\gamma^{ij}\Phi_{jab} \notag \\ &+\alpha \gamma_0\left(2\delta^c{}_{(a} n_{b)} - (1 + \gamma_3)g_{ab}n^c\right)\mathcal{C}_c \notag \\ &+ 2 \gamma_4 \alpha \Pi_{ab} n^c \mathcal{C}_c \notag \\ &- \gamma_5\alpha n^c\mathcal{C}_c \left(\frac{\mathcal{C}_a\mathcal{C}_b - \frac{1}{2} g_{ab} \mathcal{C}_d \mathcal{C}^d} {\epsilon_{5} + 2 n^d \mathcal{C}_d n^e \mathcal{C}_e + \mathcal{C}_d \mathcal{C}^d} \right) \notag \\ &-\gamma_1\gamma_2 \beta^i\Phi_{iab} \notag \\ &-16\pi \alpha \left(T_{ab} - \frac{1}{2}g_{ab}T^c{}_c\right),\\ \partial_t\Phi_{iab}- &\beta^k\partial_k\Phi_{iab} + \alpha \partial_i\Pi_{ab} - \alpha \gamma_2\partial_ig_{ab} \notag \\ =&\frac{1}{2}\alpha n^c n^d\Phi_{icd}\Pi_{ab} + \alpha \gamma^{jk}n^c\Phi_{ijc}\Phi_{kab} \notag \\ &-\alpha \gamma_2\Phi_{iab}, \end{align}

where \(H_a\) is the gauge source function, \(\mathcal{C}_a=H_a+\Gamma_a\) is the gauge constraint, \(\mathcal{C}_{iab}\) is the 3-index constraint, and \(v^i_g\) is the mesh velocity. The constraint damping parameters \(\gamma_0\) \(\gamma_1\), \(\gamma_2\), \(\gamma_3\), \(\gamma_4\), and \(\gamma_5\) have units of inverse time and control the time scales on which the constraints are damped to zero.

Note
We have not coded up the constraint damping terms for \(\gamma_3\), \(\gamma_4\), and \(\gamma_5\). \(\gamma_3\) was found to be essential for evolutions of black strings by Pretorius and Lehner [130].
Here the only terms dependent on mesh velocity are constraint damping terms added to this implementation of the generalized harmonic system. Mesh-velocity corrections that are applicable to all systems are made in evolution::dg::Actions::detail::volume_terms().
Warning
When using harmonic gauge, gr::Tags::SqrtDetSpatialMetric<DataVector> and gr::Tags::SpacetimeChristoffelSecondKind<Dim, Frame::Inertial, DataVector> are not computed. In Debug mode, they are filled with with signaling NaNs.

Member Typedef Documentation

◆ argument_tags

template<class AllSolutionsForChristoffelAnalytic, size_t Dim>
using gh::TimeDerivative< AllSolutionsForChristoffelAnalytic, Dim >::argument_tags
Initial value:
tmpl::list<gr::Tags::SpacetimeMetric<DataVector, Dim>,
Definition IndexType.hpp:43
Definition IndexType.hpp:46
Tag for the current time as a double.
Definition Time.hpp:19
The coordinates in a given frame.
Definition Tags.hpp:85
The inverse Jacobian from the source frame to the target frame.
Definition Tags.hpp:118
The mesh velocity.
Definition TagsTimeDependent.hpp:168
The computational grid of the Element in the DataBox.
Definition Tags.hpp:62
Constraint dammping parameter for the generalized harmonic system (cf. lindblom2005qh).
Definition ConstraintDampingTags.hpp:54
Constraint dammping parameter for the generalized harmonic system (cf. lindblom2005qh).
Definition ConstraintDampingTags.hpp:62
Constraint dammping parameter for the generalized harmonic system (cf. lindblom2005qh).
Definition ConstraintDampingTags.hpp:70
Auxiliary variable which is analytically the spatial derivative of the spacetime metric.
Definition Tags.hpp:38
Conjugate momentum to the spacetime metric.
Definition Tags.hpp:27
The gauge condition to impose.
Definition GaugeCondition.hpp:43

◆ temporary_tags

template<class AllSolutionsForChristoffelAnalytic, size_t Dim>
using gh::TimeDerivative< AllSolutionsForChristoffelAnalytic, Dim >::temporary_tags
Initial value:
tmpl::list<
constraint damping product
Definition DuDtTempTags.hpp:16
Definition DuDtTempTags.hpp:31
Tags corresponding to various constraints of the generalized harmonic system, and their diagnosticall...
Definition Tags.hpp:175
Gauge source function for the generalized harmonic system.
Definition Tags.hpp:51
Definition DuDtTempTags.hpp:43
Definition DuDtTempTags.hpp:21
Definition DuDtTempTags.hpp:55
Definition DuDtTempTags.hpp:26
Definition DuDtTempTags.hpp:73
Definition DuDtTempTags.hpp:61
Definition DuDtTempTags.hpp:79
Definition DuDtTempTags.hpp:37
Definition DuDtTempTags.hpp:67
Definition DuDtTempTags.hpp:49
Spacetime derivatives of the gauge source function for the generalized harmonic system.
Definition Tags.hpp:65
Tags corresponding to various constraints of the generalized harmonic system, and their diagnosticall...
Definition Tags.hpp:190
Determinant of the spatial metric.
Definition Tags.hpp:39
Definition Tags.hpp:20
Inverse of the spatial metric.
Definition Tags.hpp:32
Definition Tags.hpp:65
Definition Tags.hpp:61
Definition Tags.hpp:100
Definition Tags.hpp:43

The documentation for this struct was generated from the following file:
  • src/Evolution/Systems/GeneralizedHarmonic/TimeDerivative.hpp