The Extended Conformal Thin Sandwich (XCTS) decomposition of the Einstein constraint equations, formulated as a set of coupled first-order partial differential equations.
More...
|
using | primal_fields = tmpl::flatten< tmpl::list< Tags::ConformalFactorMinusOne< DataVector >, tmpl::conditional_t< EnabledEquations==Equations::HamiltonianAndLapse or EnabledEquations==Equations::HamiltonianLapseAndShift, Tags::LapseTimesConformalFactorMinusOne< DataVector >, tmpl::list<> >, tmpl::conditional_t< EnabledEquations==Equations::HamiltonianLapseAndShift, Tags::ShiftExcess< DataVector, 3, Frame::Inertial >, tmpl::list<> > > > |
|
using | primal_fluxes = tmpl::flatten< tmpl::list< ::Tags::Flux< Tags::ConformalFactorMinusOne< DataVector >, tmpl::size_t< 3 >, Frame::Inertial >, tmpl::conditional_t< EnabledEquations==Equations::HamiltonianAndLapse or EnabledEquations==Equations::HamiltonianLapseAndShift, ::Tags::Flux< Tags::LapseTimesConformalFactorMinusOne< DataVector >, tmpl::size_t< 3 >, Frame::Inertial >, tmpl::list<> >, tmpl::conditional_t< EnabledEquations==Equations::HamiltonianLapseAndShift, Tags::LongitudinalShiftExcess< DataVector, 3, Frame::Inertial >, tmpl::list<> > > > |
|
using | background_fields = tmpl::flatten< tmpl::list< gr::Tags::Conformal< gr::Tags::EnergyDensity< DataVector >, ConformalMatterScale >, gr::Tags::TraceExtrinsicCurvature< DataVector >, tmpl::conditional_t< ConformalGeometry==Geometry::Curved, tmpl::list< Tags::InverseConformalMetric< DataVector, 3, Frame::Inertial >, Tags::ConformalRicciTensor< DataVector, 3, Frame::Inertial >, Tags::ConformalRicciScalar< DataVector >, Tags::ConformalChristoffelContracted< DataVector, 3, Frame::Inertial >, ::Tags::deriv< Tags::ConformalMetric< DataVector, 3, Frame::Inertial >, tmpl::size_t< 3 >, Frame::Inertial > >, tmpl::list<> >, tmpl::conditional_t< EnabledEquations==Equations::Hamiltonian, Tags::LongitudinalShiftMinusDtConformalMetricOverLapseSquare< DataVector >, tmpl::list<> >, tmpl::conditional_t< EnabledEquations==Equations::HamiltonianAndLapse or EnabledEquations==Equations::HamiltonianLapseAndShift, tmpl::list< gr::Tags::Conformal< gr::Tags::StressTrace< DataVector >, ConformalMatterScale >, ::Tags::dt< gr::Tags::TraceExtrinsicCurvature< DataVector > > >, tmpl::list<> >, tmpl::conditional_t< EnabledEquations==Equations::HamiltonianAndLapse, tmpl::list< Tags::LongitudinalShiftMinusDtConformalMetricSquare< DataVector >, Tags::ShiftDotDerivExtrinsicCurvatureTrace< DataVector > >, tmpl::list<> >, tmpl::conditional_t< EnabledEquations==Equations::HamiltonianLapseAndShift, tmpl::list< gr::Tags::Conformal< gr::Tags::MomentumDensity< DataVector, 3 >, ConformalMatterScale >, ::Tags::deriv< gr::Tags::TraceExtrinsicCurvature< DataVector >, tmpl::size_t< 3 >, Frame::Inertial >, Tags::ShiftBackground< DataVector, 3, Frame::Inertial >, Tags::LongitudinalShiftBackgroundMinusDtConformalMetric< DataVector, 3, Frame::Inertial >, ::Tags::div< Tags::LongitudinalShiftBackgroundMinusDtConformalMetric< DataVector, 3, Frame::Inertial > >, tmpl::conditional_t< ConformalGeometry==Geometry::Curved, tmpl::list< Tags::ConformalMetric< DataVector, 3, Frame::Inertial >, Tags::ConformalChristoffelFirstKind< DataVector, 3, Frame::Inertial >, Tags::ConformalChristoffelSecondKind< DataVector, 3, Frame::Inertial > >, tmpl::list<> > >, tmpl::list<> > > > |
|
using | inv_metric_tag = tmpl::conditional_t< ConformalGeometry==Geometry::FlatCartesian, void, Tags::InverseConformalMetric< DataVector, 3, Frame::Inertial > > |
|
using | fluxes_computer = Fluxes< EnabledEquations, ConformalGeometry > |
|
using | sources_computer = Sources< EnabledEquations, ConformalGeometry, ConformalMatterScale > |
|
using | sources_computer_linearized = LinearizedSources< EnabledEquations, ConformalGeometry, ConformalMatterScale > |
|
using | boundary_conditions_base = elliptic::BoundaryConditions::BoundaryCondition< 3 > |
|
template<
Equations EnabledEquations,
Geometry ConformalGeometry, int ConformalMatterScale>
struct Xcts::FirstOrderSystem< EnabledEquations, ConformalGeometry, ConformalMatterScale >
The Extended Conformal Thin Sandwich (XCTS) decomposition of the Einstein constraint equations, formulated as a set of coupled first-order partial differential equations.
See Xcts for details on the XCTS equations. The system can be formulated in terms of these fluxes and sources (see elliptic::protocols::FirstOrderSystem
):
\begin{align} F^i_\psi ={} &\bar{\gamma}^{ij} \partial_j \psi \\ S_\psi ={} &-\bar{\Gamma}^i_{ij} F^j_\psi + \frac{1}{8}\psi\bar{R} + \frac{1}{12}\psi^5 K^2 - \frac{1}{8}\psi^{-7}\bar{A}^2 - 2\pi\psi^5\rho \end{align}
for the Hamiltonian constraint,
\begin{align} F^i_{\alpha\psi} ={} &\bar{\gamma}^{ij} \partial_j \alpha\psi \\ S_{\alpha\psi} ={} &-\bar{\Gamma}^i_{ij} F^j_{\alpha\psi} + \alpha\psi \left(\frac{7}{8}\psi^{-8} \bar{A}^2 + \frac{5}{12} \psi^4 K^2 + \frac{1}{8}\bar{R} + 2\pi\psi^4\left(\rho + 2S\right) \right) \\ &- \psi^5\partial_t K + \psi^5\left(\beta^i\bar{D}_i K + \beta_\mathrm{background}^i\bar{D}_i K\right) \end{align}
for the lapse equation, and
\begin{align} F^{ij}_\beta ={} &\left(\bar{L}\beta\right)^{ij} = \bar{\nabla}^i \beta^j + \bar{\nabla}^j \beta^i - \frac{2}{3} \bar{\gamma}^{ij} \bar{\nabla}_k \beta^k \\ S^i_\beta ={} &-\bar{\Gamma}^j_{jk} F^{ik}_\beta - \bar{\Gamma}^i_{jk} F^{jk}_\beta + \left(F^{ij}_\beta + \left(\bar{L}\beta_\mathrm{background}\right)^{ij} - \bar{u}^{ij}\right) \bar{\gamma}_{jk} \left(\frac{F^k_{\alpha\psi}}{\alpha\psi} - 7 \frac{F^k_\psi}{\psi}\right) \\ &- \bar{D}_j\left(\left(\bar{L}\beta_\mathrm{background}\right)^{ij} - \bar{u}^{ij}\right) + \frac{4}{3}\frac{\alpha\psi}{\psi}\bar{D}^i K + 16\pi\left(\alpha\psi\right)\psi^3 S^i \end{align}
for the momentum constraint, with
\begin{align} \bar{A}^{ij} ={} &\frac{\psi^7}{2\alpha\psi}\left( \left(\bar{L}\beta\right)^{ij} + \left(\bar{L}\beta_\mathrm{background}\right)^{ij} - \bar{u}^{ij} \right) \end{align}
and all \(f_\alpha=0\).
Note that the symbol \(\beta\) in the equations above means \(\beta_\mathrm{excess}\). The full shift is \(\beta_\mathrm{excess} + \beta_\mathrm{background}\). See Xcts::Tags::ShiftBackground
and Xcts::Tags::ShiftExcess
for details on this split. Also note that the background shift is degenerate with \(\bar{u}\) so we treat the quantity \(\left(\bar{L}\beta_\mathrm{background}\right)^{ij} - \bar{u}^{ij}\) as a single background field (see Xcts::Tags::LongitudinalShiftBackgroundMinusDtConformalMetric
). The covariant divergence of this quantity w.r.t. the conformal metric is also a background field.
- Solving a subset of equations:
- This system allows you to select a subset of
Xcts::Equations
so you don't have to solve for all variables if some are analytically known. Specify the set of enabled equations as the first template parameter. The set of required background fields depends on your choice of equations.
- Conformal background geometry:
- The equations simplify significantly if the conformal metric is flat ("conformal flatness") and in Cartesian coordinates. In this case you can specify
Xcts::Geometry::FlatCartesian
as the second template parameter so computations are optimized for a flat background geometry and you don't have to supply geometric background fields. Else, specify Xcts::Geometry::Curved
.
- Conformal matter scale:
- The matter source terms in the XCTS equations have the known defect that they can spoil uniqueness of the solutions. See e.g. [15] for a detailed study. To cure this defect one can conformally re-scale the matter source terms as \(\bar{\rho}=\psi^n\rho\), \(\bar{S}=\psi^n S\) and \(\bar{S^i}=\psi^n S^i\) and treat the re-scaled fields as freely-specifyable background data for the XCTS equations. You can select the
ConformalMatterScale
\(n\) as the third template parameter. Common choices are \(n=0\) for vacuum systems where the matter sources are irrelevant, \(n=6\) as suggested in [71] or \(n=8\) as suggested in [15].