SpECTRE  v2021.11.01
Ccz4 Namespace Reference

Items related to evolving the first-order CCZ4 system. More...

Namespaces

namespace  OptionTags
 Input option tags for the CCZ4 evolution system.
 
namespace  Tags
 Tags for the CCZ4 formulation of Einstein equations.
 

Functions

template<size_t Dim, typename Frame , typename DataType >
void a_tilde (const gsl::not_null< tnsr::ii< DataType, Dim, Frame > * > result, const gsl::not_null< Scalar< DataType > * > buffer, const Scalar< DataType > &conformal_factor_squared, const tnsr::ii< DataType, Dim, Frame > &spatial_metric, const tnsr::ii< DataType, Dim, Frame > &extrinsic_curvature, const Scalar< DataType > &trace_extrinsic_curvature)
 Computes the trace-free part of the extrinsic curvature. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::ii< DataType, Dim, Frame > a_tilde (const Scalar< DataType > &conformal_factor_squared, const tnsr::ii< DataType, Dim, Frame > &spatial_metric, const tnsr::ii< DataType, Dim, Frame > &extrinsic_curvature, const Scalar< DataType > &trace_extrinsic_curvature)
 Computes the trace-free part of the extrinsic curvature. More...
 
template<size_t Dim, typename Frame , typename DataType >
void conformal_christoffel_second_kind (const gsl::not_null< tnsr::Ijj< DataType, Dim, Frame > * > result, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &field_d)
 Computes the conformal spatial christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::Ijj< DataType, Dim, Frame > conformal_christoffel_second_kind (const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &field_d)
 Computes the conformal spatial christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
void christoffel_second_kind (const gsl::not_null< tnsr::Ijj< DataType, Dim, Frame > * > result, const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::i< DataType, Dim, Frame > &field_p, const tnsr::Ijj< DataType, Dim, Frame > &conformal_christoffel_second_kind)
 Computes the spatial christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::Ijj< DataType, Dim, Frame > christoffel_second_kind (const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::i< DataType, Dim, Frame > &field_p, const tnsr::Ijj< DataType, Dim, Frame > &conformal_christoffel_second_kind)
 Computes the spatial christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
void contracted_conformal_christoffel_second_kind (const gsl::not_null< tnsr::I< DataType, Dim, Frame > * > result, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::Ijj< DataType, Dim, Frame > &conformal_christoffel_second_kind)
 Computes the contraction of the conformal spatial Christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::I< DataType, Dim, Frame > contracted_conformal_christoffel_second_kind (const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::Ijj< DataType, Dim, Frame > &conformal_christoffel_second_kind)
 Computes the contraction of the conformal spatial Christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
void deriv_conformal_christoffel_second_kind (const gsl::not_null< tnsr::iJkk< DataType, Dim, Frame > * > result, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &field_d, const tnsr::ijkk< DataType, Dim, Frame > &d_field_d, const tnsr::iJJ< DataType, Dim, Frame > &field_d_up)
 Computes the spatial derivative of the conformal spatial christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::iJkk< DataType, Dim, Frame > deriv_conformal_christoffel_second_kind (const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &field_d, const tnsr::ijkk< DataType, Dim, Frame > &d_field_d, const tnsr::iJJ< DataType, Dim, Frame > &field_d_up)
 Computes the spatial derivative of the conformal spatial christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
void deriv_contracted_conformal_christoffel_second_kind (const gsl::not_null< tnsr::iJ< DataType, Dim, Frame > * > result, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::iJJ< DataType, Dim, Frame > &field_d_up, const tnsr::Ijj< DataType, Dim, Frame > &conformal_christoffel_second_kind, const tnsr::iJkk< DataType, Dim, Frame > &d_conformal_christoffel_second_kind)
 Computes the spatial derivative of the contraction of the conformal spatial Christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::iJ< DataType, Dim, Frame > deriv_contracted_conformal_christoffel_second_kind (const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::iJJ< DataType, Dim, Frame > &field_d_up, const tnsr::Ijj< DataType, Dim, Frame > &conformal_christoffel_second_kind, const tnsr::iJkk< DataType, Dim, Frame > &d_conformal_christoffel_second_kind)
 Computes the spatial derivative of the contraction of the conformal spatial Christoffel symbols of the second kind. More...
 
template<size_t Dim, typename Frame , typename DataType >
void grad_grad_lapse (const gsl::not_null< tnsr::ij< DataType, Dim, Frame > * > result, const Scalar< DataType > &lapse, const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::i< DataType, Dim, Frame > &field_a, const tnsr::ij< DataType, Dim, Frame > &d_field_a)
 Computes the gradient of the gradient of the lapse. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::ij< DataType, Dim, Frame > grad_grad_lapse (const Scalar< DataType > &lapse, const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::i< DataType, Dim, Frame > &field_a, const tnsr::ij< DataType, Dim, Frame > &d_field_a)
 Computes the gradient of the gradient of the lapse. More...
 
template<size_t Dim, typename Frame , typename DataType >
void divergence_lapse (const gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &conformal_factor_squared, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_metric, const tnsr::ij< DataType, Dim, Frame > &grad_grad_lapse)
 Computes the divergence of the lapse. More...
 
template<size_t Dim, typename Frame , typename DataType >
Scalar< DataType > divergence_lapse (const Scalar< DataType > &conformal_factor_squared, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_metric, const tnsr::ij< DataType, Dim, Frame > &grad_grad_lapse)
 Computes the divergence of the lapse. More...
 
template<size_t Dim, typename Frame , typename DataType >
void grad_spatial_z4_constraint (const gsl::not_null< tnsr::ij< DataType, Dim, Frame > * > result, const tnsr::i< DataType, Dim, Frame > &spatial_z4_constraint, const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::ijj< DataType, Dim, Frame > &field_d, const tnsr::I< DataType, Dim, Frame > &gamma_hat_minus_contracted_conformal_christoffel, const tnsr::iJ< DataType, Dim, Frame > &d_gamma_hat_minus_contracted_conformal_christoffel)
 Computes the gradient of the spatial part of the Z4 constraint. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::ij< DataType, Dim, Frame > grad_spatial_z4_constraint (const tnsr::i< DataType, Dim, Frame > &spatial_z4_constraint, const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::ijj< DataType, Dim, Frame > &field_d, const tnsr::I< DataType, Dim, Frame > &gamma_hat_minus_contracted_conformal_christoffel, const tnsr::iJ< DataType, Dim, Frame > &d_gamma_hat_minus_contracted_conformal_christoffel)
 Computes the gradient of the spatial part of the Z4 constraint. More...
 
template<size_t Dim, typename Frame , typename DataType >
void spatial_ricci_tensor (const gsl::not_null< tnsr::ii< DataType, Dim, Frame > * > result, const gsl::not_null< tnsr::ij< DataType, Dim, Frame > * > buffer, const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::iJkk< DataType, Dim, Frame > &d_conformal_christoffel_second_kind, const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &field_d, const tnsr::iJJ< DataType, Dim, Frame > &field_d_up, const tnsr::i< DataType, Dim, Frame > &field_p, const tnsr::ij< DataType, Dim, Frame > &d_field_p)
 Computes the spatial Ricci tensor. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::ii< DataType, Dim, Frame > spatial_ricci_tensor (const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::iJkk< DataType, Dim, Frame > &d_conformal_christoffel_second_kind, const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &field_d, const tnsr::iJJ< DataType, Dim, Frame > &field_d_up, const tnsr::i< DataType, Dim, Frame > &field_p, const tnsr::ij< DataType, Dim, Frame > &d_field_p)
 Computes the spatial Ricci tensor. More...
 
template<size_t Dim, typename Frame , typename DataType >
void ricci_scalar_plus_divergence_z4_constraint (const gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &conformal_factor_squared, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ii< DataType, Dim, Frame > &spatial_ricci_tensor, const tnsr::ij< DataType, Dim, Frame > &grad_spatial_z4_constraint)
 Computes the sum of the Ricci scalar and twice the divergence of the upper spatial Z4 constraint. More...
 
template<size_t Dim, typename Frame , typename DataType >
Scalar< DataType > ricci_scalar_plus_divergence_z4_constraint (const Scalar< DataType > &conformal_factor_squared, const tnsr::II< DataType, Dim, Frame > &inverse_conformal_spatial_metric, const tnsr::ii< DataType, Dim, Frame > &spatial_ricci_tensor, const tnsr::ij< DataType, Dim, Frame > &grad_spatial_z4_constraint)
 Computes the sum of the Ricci scalar and twice the divergence of the upper spatial Z4 constraint. More...
 
template<size_t Dim, typename Frame , typename DataType >
void spatial_z4_constraint (const gsl::not_null< tnsr::i< DataType, Dim, Frame > * > result, const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::I< DataType, Dim, Frame > &gamma_hat_minus_contracted_conformal_christoffel)
 Computes the spatial part of the Z4 constraint. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::i< DataType, Dim, Frame > spatial_z4_constraint (const tnsr::ii< DataType, Dim, Frame > &conformal_spatial_metric, const tnsr::I< DataType, Dim, Frame > &gamma_hat_minus_contracted_conformal_christoffel)
 Computes the spatial part of the Z4 constraint. More...
 
template<size_t Dim, typename Frame , typename DataType >
void upper_spatial_z4_constraint (const gsl::not_null< tnsr::I< DataType, Dim, Frame > * > result, const gsl::not_null< Scalar< DataType > * > buffer, const Scalar< DataType > &conformal_factor_squared, const tnsr::I< DataType, Dim, Frame > &gamma_hat_minus_contracted_conformal_christoffel)
 Computes the spatial part of the upper Z4 constraint. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::I< DataType, Dim, Frame > upper_spatial_z4_constraint (const Scalar< DataType > &conformal_factor_squared, const tnsr::I< DataType, Dim, Frame > &gamma_hat_minus_contracted_conformal_christoffel)
 Computes the spatial part of the upper Z4 constraint. More...
 

Detailed Description

Items related to evolving the first-order CCZ4 system.

Function Documentation

◆ a_tilde() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::a_tilde ( const gsl::not_null< tnsr::ii< DataType, Dim, Frame > * >  result,
const gsl::not_null< Scalar< DataType > * >  buffer,
const Scalar< DataType > &  conformal_factor_squared,
const tnsr::ii< DataType, Dim, Frame > &  spatial_metric,
const tnsr::ii< DataType, Dim, Frame > &  extrinsic_curvature,
const Scalar< DataType > &  trace_extrinsic_curvature 
)

Computes the trace-free part of the extrinsic curvature.

Details

Computes the trace-free part as:

\begin{align} \tilde A_{ij} &= \phi^2 \left(K_{ij} - \frac{1}{3} K \gamma_{ij}\right) \end{align}

where \(\phi^2\) is the square of the conformal factor defined by Ccz4::Tags::ConformalFactorSquared, \(\gamma_{ij}\) is the spatial metric defined by gr::Tags::SpatialMetric, \(K_{ij}\) is the extrinsic curvature defined by gr::Tags::ExtrinsicCurvature, and \(K\) is the trace of the extrinsic curvature defined by gr::Tags::TraceExtrinsicCurvature.

◆ a_tilde() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::ii< DataType, Dim, Frame > Ccz4::a_tilde ( const Scalar< DataType > &  conformal_factor_squared,
const tnsr::ii< DataType, Dim, Frame > &  spatial_metric,
const tnsr::ii< DataType, Dim, Frame > &  extrinsic_curvature,
const Scalar< DataType > &  trace_extrinsic_curvature 
)

Computes the trace-free part of the extrinsic curvature.

Details

Computes the trace-free part as:

\begin{align} \tilde A_{ij} &= \phi^2 \left(K_{ij} - \frac{1}{3} K \gamma_{ij}\right) \end{align}

where \(\phi^2\) is the square of the conformal factor defined by Ccz4::Tags::ConformalFactorSquared, \(\gamma_{ij}\) is the spatial metric defined by gr::Tags::SpatialMetric, \(K_{ij}\) is the extrinsic curvature defined by gr::Tags::ExtrinsicCurvature, and \(K\) is the trace of the extrinsic curvature defined by gr::Tags::TraceExtrinsicCurvature.

◆ christoffel_second_kind() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::christoffel_second_kind ( const gsl::not_null< tnsr::Ijj< DataType, Dim, Frame > * >  result,
const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::i< DataType, Dim, Frame > &  field_p,
const tnsr::Ijj< DataType, Dim, Frame > &  conformal_christoffel_second_kind 
)

Computes the spatial christoffel symbols of the second kind.

Details

Computes the christoffel symbols as:

\begin{align} \Gamma^k_{ij} &= \tilde{\Gamma}^k_{ij} - \tilde{\gamma}^{kl} (\tilde{\gamma}_{jl} P_i + \tilde{\gamma}_{il} P_j - \tilde{\gamma}_{ij} P_l) \end{align}

where \(\tilde{\gamma}^{ij}\), \(\tilde{\gamma}_{ij}\), \(\tilde{\Gamma}^k_{ij}\), and \(P_i\) are the conformal spatial metric, the inverse conformal spatial metric, the conformal spatial christoffel symbols of the second kind, and the CCZ4 auxiliary variable defined by Ccz4::Tags::ConformalMetric, Ccz4::Tags::InverseConformalMetric, Ccz4::Tags::ConformalChristoffelSecondKind, and Ccz4::Tags::FieldP, respectively.

◆ christoffel_second_kind() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::Ijj< DataType, Dim, Frame > Ccz4::christoffel_second_kind ( const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::i< DataType, Dim, Frame > &  field_p,
const tnsr::Ijj< DataType, Dim, Frame > &  conformal_christoffel_second_kind 
)

Computes the spatial christoffel symbols of the second kind.

Details

Computes the christoffel symbols as:

\begin{align} \Gamma^k_{ij} &= \tilde{\Gamma}^k_{ij} - \tilde{\gamma}^{kl} (\tilde{\gamma}_{jl} P_i + \tilde{\gamma}_{il} P_j - \tilde{\gamma}_{ij} P_l) \end{align}

where \(\tilde{\gamma}^{ij}\), \(\tilde{\gamma}_{ij}\), \(\tilde{\Gamma}^k_{ij}\), and \(P_i\) are the conformal spatial metric, the inverse conformal spatial metric, the conformal spatial christoffel symbols of the second kind, and the CCZ4 auxiliary variable defined by Ccz4::Tags::ConformalMetric, Ccz4::Tags::InverseConformalMetric, Ccz4::Tags::ConformalChristoffelSecondKind, and Ccz4::Tags::FieldP, respectively.

◆ conformal_christoffel_second_kind() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::conformal_christoffel_second_kind ( const gsl::not_null< tnsr::Ijj< DataType, Dim, Frame > * >  result,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ijj< DataType, Dim, Frame > &  field_d 
)

Computes the conformal spatial christoffel symbols of the second kind.

Details

Computes the christoffel symbols as:

\begin{align} \tilde{\Gamma}^k_{ij} &= \tilde{\gamma}^{kl} (D_{ijl} + D_{jil} - D_{lij}) \end{align}

where \(\tilde{\gamma}^{ij}\) and \(D_{ijk}\) are the inverse conformal spatial metric and the CCZ4 auxiliary variable defined by Ccz4::Tags::InverseConformalMetric and Ccz4::Tags::FieldD, respectively.

◆ conformal_christoffel_second_kind() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::Ijj< DataType, Dim, Frame > Ccz4::conformal_christoffel_second_kind ( const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ijj< DataType, Dim, Frame > &  field_d 
)

Computes the conformal spatial christoffel symbols of the second kind.

Details

Computes the christoffel symbols as:

\begin{align} \tilde{\Gamma}^k_{ij} &= \tilde{\gamma}^{kl} (D_{ijl} + D_{jil} - D_{lij}) \end{align}

where \(\tilde{\gamma}^{ij}\) and \(D_{ijk}\) are the inverse conformal spatial metric and the CCZ4 auxiliary variable defined by Ccz4::Tags::InverseConformalMetric and Ccz4::Tags::FieldD, respectively.

◆ contracted_conformal_christoffel_second_kind() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::contracted_conformal_christoffel_second_kind ( const gsl::not_null< tnsr::I< DataType, Dim, Frame > * >  result,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::Ijj< DataType, Dim, Frame > &  conformal_christoffel_second_kind 
)

Computes the contraction of the conformal spatial Christoffel symbols of the second kind.

Details

Computes the contraction as:

\begin{align} \tilde{\Gamma}^i &= \tilde{\gamma}^{jl} \tilde{\Gamma}^i_{jl} \end{align}

where \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric and \(\tilde{\Gamma}^k_{ij}\) is the conformal spatial Christoffel symbols of the second kind defined by Ccz4::Tags::ConformalChristoffelSecondKind.

◆ contracted_conformal_christoffel_second_kind() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::I< DataType, Dim, Frame > Ccz4::contracted_conformal_christoffel_second_kind ( const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::Ijj< DataType, Dim, Frame > &  conformal_christoffel_second_kind 
)

Computes the contraction of the conformal spatial Christoffel symbols of the second kind.

Details

Computes the contraction as:

\begin{align} \tilde{\Gamma}^i &= \tilde{\gamma}^{jl} \tilde{\Gamma}^i_{jl} \end{align}

where \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric and \(\tilde{\Gamma}^k_{ij}\) is the conformal spatial Christoffel symbols of the second kind defined by Ccz4::Tags::ConformalChristoffelSecondKind.

◆ deriv_conformal_christoffel_second_kind() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::deriv_conformal_christoffel_second_kind ( const gsl::not_null< tnsr::iJkk< DataType, Dim, Frame > * >  result,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ijj< DataType, Dim, Frame > &  field_d,
const tnsr::ijkk< DataType, Dim, Frame > &  d_field_d,
const tnsr::iJJ< DataType, Dim, Frame > &  field_d_up 
)

Computes the spatial derivative of the conformal spatial christoffel symbols of the second kind.

Details

Computes the derivative as:

\begin{align} \partial_k \tilde{\Gamma}^m{}_{ij} &= -2 D_k{}^{ml} (D_{ijl} + D_{jil} - D_{lij}) + \tilde{\gamma}^{ml}(\partial_{(k} D_{i)jl} + \partial_{(k} D_{j)il} - \partial_{(k} D_{l)ij}) \end{align}

where \(\tilde{\gamma}^{ij}\), \(D_{ijk}\), \(\partial_l D_{ijk}\), and \(D_k{}^{ij}\) are the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldD, its spatial derivative, and the CCZ4 identity defined by Ccz4::Tags::FieldDUp.

◆ deriv_conformal_christoffel_second_kind() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::iJkk< DataType, Dim, Frame > Ccz4::deriv_conformal_christoffel_second_kind ( const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ijj< DataType, Dim, Frame > &  field_d,
const tnsr::ijkk< DataType, Dim, Frame > &  d_field_d,
const tnsr::iJJ< DataType, Dim, Frame > &  field_d_up 
)

Computes the spatial derivative of the conformal spatial christoffel symbols of the second kind.

Details

Computes the derivative as:

\begin{align} \partial_k \tilde{\Gamma}^m{}_{ij} &= -2 D_k{}^{ml} (D_{ijl} + D_{jil} - D_{lij}) + \tilde{\gamma}^{ml}(\partial_{(k} D_{i)jl} + \partial_{(k} D_{j)il} - \partial_{(k} D_{l)ij}) \end{align}

where \(\tilde{\gamma}^{ij}\), \(D_{ijk}\), \(\partial_l D_{ijk}\), and \(D_k{}^{ij}\) are the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldD, its spatial derivative, and the CCZ4 identity defined by Ccz4::Tags::FieldDUp.

◆ deriv_contracted_conformal_christoffel_second_kind() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::deriv_contracted_conformal_christoffel_second_kind ( const gsl::not_null< tnsr::iJ< DataType, Dim, Frame > * >  result,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::iJJ< DataType, Dim, Frame > &  field_d_up,
const tnsr::Ijj< DataType, Dim, Frame > &  conformal_christoffel_second_kind,
const tnsr::iJkk< DataType, Dim, Frame > &  d_conformal_christoffel_second_kind 
)

Computes the spatial derivative of the contraction of the conformal spatial Christoffel symbols of the second kind.

Details

Computes the derivative as:

\begin{align} \partial_k \tilde{\Gamma}^i &= -2 D_k{}^{jl} \tilde{\Gamma}^i_{jl} + \tilde{\gamma}^{jl} \partial_k \tilde{\Gamma}^i_{jl} \end{align}

where \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, \(D_k{}^{ij}\) is the CCZ4 identity defined by Ccz4::Tags::FieldDUp, \(\tilde{\Gamma}^k_{ij}\) is the conformal spatial Christoffel symbols of the second kind defined by Ccz4::Tags::ConformalChristoffelSecondKind, and \(\partial_k \tilde{\Gamma}^k_{ij}\) is its spatial derivative defined by Ccz4::Tags::DerivConformalChristoffelSecondKind.

◆ deriv_contracted_conformal_christoffel_second_kind() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::iJ< DataType, Dim, Frame > Ccz4::deriv_contracted_conformal_christoffel_second_kind ( const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::iJJ< DataType, Dim, Frame > &  field_d_up,
const tnsr::Ijj< DataType, Dim, Frame > &  conformal_christoffel_second_kind,
const tnsr::iJkk< DataType, Dim, Frame > &  d_conformal_christoffel_second_kind 
)

Computes the spatial derivative of the contraction of the conformal spatial Christoffel symbols of the second kind.

Details

Computes the derivative as:

\begin{align} \partial_k \tilde{\Gamma}^i &= -2 D_k{}^{jl} \tilde{\Gamma}^i_{jl} + \tilde{\gamma}^{jl} \partial_k \tilde{\Gamma}^i_{jl} \end{align}

where \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, \(D_k{}^{ij}\) is the CCZ4 identity defined by Ccz4::Tags::FieldDUp, \(\tilde{\Gamma}^k_{ij}\) is the conformal spatial Christoffel symbols of the second kind defined by Ccz4::Tags::ConformalChristoffelSecondKind, and \(\partial_k \tilde{\Gamma}^k_{ij}\) is its spatial derivative defined by Ccz4::Tags::DerivConformalChristoffelSecondKind.

◆ grad_grad_lapse() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::grad_grad_lapse ( const gsl::not_null< tnsr::ij< DataType, Dim, Frame > * >  result,
const Scalar< DataType > &  lapse,
const tnsr::Ijj< DataType, Dim, Frame > &  christoffel_second_kind,
const tnsr::i< DataType, Dim, Frame > &  field_a,
const tnsr::ij< DataType, Dim, Frame > &  d_field_a 
)

Computes the gradient of the gradient of the lapse.

Details

Computes the gradient of the gradient as:

\begin{align} \nabla_i \nabla_j \alpha &= \alpha A_i A_j - \alpha \Gamma^k{}_{ij} A_k + \alpha \partial_{(i} A_{j)} \end{align}

where \(\alpha\), \(\Gamma^k{}_{ij}\), \(A_i\), and \(\partial_j A_i\) are the lapse, spatial christoffel symbols of the second kind, the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldA, and its spatial derivative, respectively.

◆ grad_grad_lapse() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::ij< DataType, Dim, Frame > Ccz4::grad_grad_lapse ( const Scalar< DataType > &  lapse,
const tnsr::Ijj< DataType, Dim, Frame > &  christoffel_second_kind,
const tnsr::i< DataType, Dim, Frame > &  field_a,
const tnsr::ij< DataType, Dim, Frame > &  d_field_a 
)

Computes the gradient of the gradient of the lapse.

Details

Computes the gradient of the gradient as:

\begin{align} \nabla_i \nabla_j \alpha &= \alpha A_i A_j - \alpha \Gamma^k{}_{ij} A_k + \alpha \partial_{(i} A_{j)} \end{align}

where \(\alpha\), \(\Gamma^k{}_{ij}\), \(A_i\), and \(\partial_j A_i\) are the lapse, spatial christoffel symbols of the second kind, the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldA, and its spatial derivative, respectively.

◆ grad_spatial_z4_constraint() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::grad_spatial_z4_constraint ( const gsl::not_null< tnsr::ij< DataType, Dim, Frame > * >  result,
const tnsr::i< DataType, Dim, Frame > &  spatial_z4_constraint,
const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::Ijj< DataType, Dim, Frame > &  christoffel_second_kind,
const tnsr::ijj< DataType, Dim, Frame > &  field_d,
const tnsr::I< DataType, Dim, Frame > &  gamma_hat_minus_contracted_conformal_christoffel,
const tnsr::iJ< DataType, Dim, Frame > &  d_gamma_hat_minus_contracted_conformal_christoffel 
)

Computes the gradient of the spatial part of the Z4 constraint.

Details

Computes the gradient as:

\begin{align} \nabla_i Z_j &= D_{ijl} \left(\hat{\Gamma}^l - \tilde{\Gamma}^l\right) + \frac{1}{2} \tilde{\gamma}_{jl} \left( \partial_i \hat{\Gamma}^l - \partial_i \tilde{\Gamma}^l\right) - \Gamma^l_{ij} Z_l \end{align}

where \(Z_i\) is the spatial Z4 constraint defined by Ccz4::Tags::SpatialZ4Constraint, \(\tilde{\gamma}_{ij}\) is the conformal spatial metric defined by Ccz4::Tags::ConformalMetric, \(\Gamma^k_{ij}\) is the spatial Christoffel symbols of the second kind defined by Ccz4::Tags::ChristoffelSecondKind, \(D_{ijk}\) is the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldD, \(\left(\hat{\Gamma}^i - \tilde{\Gamma}^i\right)\) is the CCZ4 temporary expression defined by Ccz4::Tags::GammaHatMinusContractedConformalChristoffel, and \(\left(\partial_i \hat{\Gamma}^j - \partial_i \tilde{\Gamma}^j\right)\) is its spatial derivative.

◆ grad_spatial_z4_constraint() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::ij< DataType, Dim, Frame > Ccz4::grad_spatial_z4_constraint ( const tnsr::i< DataType, Dim, Frame > &  spatial_z4_constraint,
const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::Ijj< DataType, Dim, Frame > &  christoffel_second_kind,
const tnsr::ijj< DataType, Dim, Frame > &  field_d,
const tnsr::I< DataType, Dim, Frame > &  gamma_hat_minus_contracted_conformal_christoffel,
const tnsr::iJ< DataType, Dim, Frame > &  d_gamma_hat_minus_contracted_conformal_christoffel 
)

Computes the gradient of the spatial part of the Z4 constraint.

Details

Computes the gradient as:

\begin{align} \nabla_i Z_j &= D_{ijl} \left(\hat{\Gamma}^l - \tilde{\Gamma}^l\right) + \frac{1}{2} \tilde{\gamma}_{jl} \left( \partial_i \hat{\Gamma}^l - \partial_i \tilde{\Gamma}^l\right) - \Gamma^l_{ij} Z_l \end{align}

where \(Z_i\) is the spatial Z4 constraint defined by Ccz4::Tags::SpatialZ4Constraint, \(\tilde{\gamma}_{ij}\) is the conformal spatial metric defined by Ccz4::Tags::ConformalMetric, \(\Gamma^k_{ij}\) is the spatial Christoffel symbols of the second kind defined by Ccz4::Tags::ChristoffelSecondKind, \(D_{ijk}\) is the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldD, \(\left(\hat{\Gamma}^i - \tilde{\Gamma}^i\right)\) is the CCZ4 temporary expression defined by Ccz4::Tags::GammaHatMinusContractedConformalChristoffel, and \(\left(\partial_i \hat{\Gamma}^j - \partial_i \tilde{\Gamma}^j\right)\) is its spatial derivative.

◆ ricci_scalar_plus_divergence_z4_constraint() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::ricci_scalar_plus_divergence_z4_constraint ( const gsl::not_null< Scalar< DataType > * >  result,
const Scalar< DataType > &  conformal_factor_squared,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ii< DataType, Dim, Frame > &  spatial_ricci_tensor,
const tnsr::ij< DataType, Dim, Frame > &  grad_spatial_z4_constraint 
)

Computes the sum of the Ricci scalar and twice the divergence of the upper spatial Z4 constraint.

Details

Computes the expression as:

\begin{align} R + 2 \nabla_k Z^k &= \phi^2 \tilde{\gamma}^{ij} (R_{ij} + \nabla_i Z_j + \nabla_j Z_i) \end{align}

where \(R\) is the spatial Ricci scalar, \(Z^i\) is the upper spatial Z4 constraint defined by Ccz4::Tags::Z4ConstraintUp, \(phi^2\) is the square of the conformal factor defined by Ccz4::Tags::ConformalFactorSquared, \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, \(R_{ij}\) is the spatial Ricci tensor defined by Ccz4::Tags::Ricci, and \(\nabla_j Z_i\) is the gradient of the spatial Z4 constraint defined by Ccz4::Tags::GradZ4Constraint.

◆ ricci_scalar_plus_divergence_z4_constraint() [2/2]

template<size_t Dim, typename Frame , typename DataType >
Scalar< DataType > Ccz4::ricci_scalar_plus_divergence_z4_constraint ( const Scalar< DataType > &  conformal_factor_squared,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ii< DataType, Dim, Frame > &  spatial_ricci_tensor,
const tnsr::ij< DataType, Dim, Frame > &  grad_spatial_z4_constraint 
)

Computes the sum of the Ricci scalar and twice the divergence of the upper spatial Z4 constraint.

Details

Computes the expression as:

\begin{align} R + 2 \nabla_k Z^k &= \phi^2 \tilde{\gamma}^{ij} (R_{ij} + \nabla_i Z_j + \nabla_j Z_i) \end{align}

where \(R\) is the spatial Ricci scalar, \(Z^i\) is the upper spatial Z4 constraint defined by Ccz4::Tags::Z4ConstraintUp, \(phi^2\) is the square of the conformal factor defined by Ccz4::Tags::ConformalFactorSquared, \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, \(R_{ij}\) is the spatial Ricci tensor defined by Ccz4::Tags::Ricci, and \(\nabla_j Z_i\) is the gradient of the spatial Z4 constraint defined by Ccz4::Tags::GradZ4Constraint.

◆ spatial_ricci_tensor() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::spatial_ricci_tensor ( const gsl::not_null< tnsr::ii< DataType, Dim, Frame > * >  result,
const gsl::not_null< tnsr::ij< DataType, Dim, Frame > * >  buffer,
const tnsr::Ijj< DataType, Dim, Frame > &  christoffel_second_kind,
const tnsr::iJkk< DataType, Dim, Frame > &  d_conformal_christoffel_second_kind,
const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ijj< DataType, Dim, Frame > &  field_d,
const tnsr::iJJ< DataType, Dim, Frame > &  field_d_up,
const tnsr::i< DataType, Dim, Frame > &  field_p,
const tnsr::ij< DataType, Dim, Frame > &  d_field_p 
)

Computes the spatial Ricci tensor.

Details

Computes the spatial Ricci tensor as:

\begin{align} R_{ij} &= \partial_m \Gamma^m_{ij} - \partial_j \Gamma^m_{im} + \Gamma^l_{ij} \Gamma^m_{lm} - \Gamma^l_{im} \Gamma^m_{lj} \end{align}

where

\begin{align} \partial_k \Gamma^m_{ij} &= \partial_k \tilde{\Gamma}^m_{ij} + 2 D_k{}^{ml} (\tilde{\gamma}_{jl} P_i + \tilde{\gamma}_{il} P_j - \tilde{\gamma}_{ij} P_l)\nonumber\\ & - 2 \tilde{\gamma}^{ml} (D_{kjl} P_i + D_{kil} P_j - D_{kij} P_l) - \tilde{\gamma}^{ml} ( \tilde{\gamma}_{jl} \partial_{(k} P_{i)} + \tilde{\gamma}_{il} \partial_{(k} P_{j)} - \tilde{\gamma}_{ij} \partial_{(k} P_{l)}) \end{align}

\(\Gamma^k_{ij}\) is the spatial christoffel symbols of the second kind defined by Ccz4::Tags::ChristoffelSecondKind, \(\partial_m \tilde{\Gamma}^k_{ij}\) is the spatial derivative of the conformal spatial christoffel symbols of the second kind defined by Ccz4::Tags::DerivConformalChristoffelSecondKind, \(\tilde{\gamma}_{ij}\) is the conformal spatial metric defined by Ccz4::Tags::ConformalMetric, \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, \(D_{ijk}\) is the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldD, \(D_k{}^{ij}\) is the CCZ4 identity defined by Ccz4::Tags::FieldDUp, \(P_i\) is the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldP, and \(\partial_j P_{i}\) is its spatial derivative.

After substituting in the full expressions for \(\partial_m \Gamma^m_{ij}\) and \(\partial_j \Gamma^m_{im}\) and commuting terms with common coefficients, the full equation becomes and is implemented as:

\begin{align} R_{ij} &= \partial_m \tilde{\Gamma}^m_{ij} - \partial_j \tilde{\Gamma}^m_{im}\nonumber\\ & + 2 D_m{}^{ml} (\tilde{\gamma}_{jl} P_i + \tilde{\gamma}_{il} P_j - \tilde{\gamma}_{ij} P_l) - 2 \tilde{\gamma}^{ml} ( D_{mjl} P_i + D_{mil} P_j - D_{mij} P_l)\nonumber\\ & - 2 D_j{}^{ml} (\tilde{\gamma}_{ml} P_i + \tilde{\gamma}_{il} P_m - \tilde{\gamma}_{im} P_l) + 2 \tilde{\gamma}^{ml} ( D_{jml} P_i + D_{jil} P_m - D_{jim} P_l)\nonumber\\ & - \tilde{\gamma}^{ml} ( \tilde{\gamma}_{jl} \partial_{(m} P_{i)} + \tilde{\gamma}_{il} \partial_{(m} P_{j)} - \tilde{\gamma}_{ij} \partial_{(m} P_{l)}) + \tilde{\gamma}^{ml} ( \tilde{\gamma}_{ml} \partial_{(j} P_{i)} + \tilde{\gamma}_{il} \partial_{(j} P_{m)} - \tilde{\gamma}_{im} \partial_{(j} P_{l)})\nonumber\\ & + \Gamma^l_{ij} \Gamma^m_{lm} - \Gamma^l_{im} \Gamma^m_{lj} \end{align}

◆ spatial_ricci_tensor() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::ii< DataType, Dim, Frame > Ccz4::spatial_ricci_tensor ( const tnsr::Ijj< DataType, Dim, Frame > &  christoffel_second_kind,
const tnsr::iJkk< DataType, Dim, Frame > &  d_conformal_christoffel_second_kind,
const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::II< DataType, Dim, Frame > &  inverse_conformal_spatial_metric,
const tnsr::ijj< DataType, Dim, Frame > &  field_d,
const tnsr::iJJ< DataType, Dim, Frame > &  field_d_up,
const tnsr::i< DataType, Dim, Frame > &  field_p,
const tnsr::ij< DataType, Dim, Frame > &  d_field_p 
)

Computes the spatial Ricci tensor.

Details

Computes the spatial Ricci tensor as:

\begin{align} R_{ij} &= \partial_m \Gamma^m_{ij} - \partial_j \Gamma^m_{im} + \Gamma^l_{ij} \Gamma^m_{lm} - \Gamma^l_{im} \Gamma^m_{lj} \end{align}

where

\begin{align} \partial_k \Gamma^m_{ij} &= \partial_k \tilde{\Gamma}^m_{ij} + 2 D_k{}^{ml} (\tilde{\gamma}_{jl} P_i + \tilde{\gamma}_{il} P_j - \tilde{\gamma}_{ij} P_l)\nonumber\\ & - 2 \tilde{\gamma}^{ml} (D_{kjl} P_i + D_{kil} P_j - D_{kij} P_l) - \tilde{\gamma}^{ml} ( \tilde{\gamma}_{jl} \partial_{(k} P_{i)} + \tilde{\gamma}_{il} \partial_{(k} P_{j)} - \tilde{\gamma}_{ij} \partial_{(k} P_{l)}) \end{align}

\(\Gamma^k_{ij}\) is the spatial christoffel symbols of the second kind defined by Ccz4::Tags::ChristoffelSecondKind, \(\partial_m \tilde{\Gamma}^k_{ij}\) is the spatial derivative of the conformal spatial christoffel symbols of the second kind defined by Ccz4::Tags::DerivConformalChristoffelSecondKind, \(\tilde{\gamma}_{ij}\) is the conformal spatial metric defined by Ccz4::Tags::ConformalMetric, \(\tilde{\gamma}^{ij}\) is the inverse conformal spatial metric defined by Ccz4::Tags::InverseConformalMetric, \(D_{ijk}\) is the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldD, \(D_k{}^{ij}\) is the CCZ4 identity defined by Ccz4::Tags::FieldDUp, \(P_i\) is the CCZ4 auxiliary variable defined by Ccz4::Tags::FieldP, and \(\partial_j P_{i}\) is its spatial derivative.

After substituting in the full expressions for \(\partial_m \Gamma^m_{ij}\) and \(\partial_j \Gamma^m_{im}\) and commuting terms with common coefficients, the full equation becomes and is implemented as:

\begin{align} R_{ij} &= \partial_m \tilde{\Gamma}^m_{ij} - \partial_j \tilde{\Gamma}^m_{im}\nonumber\\ & + 2 D_m{}^{ml} (\tilde{\gamma}_{jl} P_i + \tilde{\gamma}_{il} P_j - \tilde{\gamma}_{ij} P_l) - 2 \tilde{\gamma}^{ml} ( D_{mjl} P_i + D_{mil} P_j - D_{mij} P_l)\nonumber\\ & - 2 D_j{}^{ml} (\tilde{\gamma}_{ml} P_i + \tilde{\gamma}_{il} P_m - \tilde{\gamma}_{im} P_l) + 2 \tilde{\gamma}^{ml} ( D_{jml} P_i + D_{jil} P_m - D_{jim} P_l)\nonumber\\ & - \tilde{\gamma}^{ml} ( \tilde{\gamma}_{jl} \partial_{(m} P_{i)} + \tilde{\gamma}_{il} \partial_{(m} P_{j)} - \tilde{\gamma}_{ij} \partial_{(m} P_{l)}) + \tilde{\gamma}^{ml} ( \tilde{\gamma}_{ml} \partial_{(j} P_{i)} + \tilde{\gamma}_{il} \partial_{(j} P_{m)} - \tilde{\gamma}_{im} \partial_{(j} P_{l)})\nonumber\\ & + \Gamma^l_{ij} \Gamma^m_{lm} - \Gamma^l_{im} \Gamma^m_{lj} \end{align}

◆ spatial_z4_constraint() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::spatial_z4_constraint ( const gsl::not_null< tnsr::i< DataType, Dim, Frame > * >  result,
const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::I< DataType, Dim, Frame > &  gamma_hat_minus_contracted_conformal_christoffel 
)

Computes the spatial part of the Z4 constraint.

Details

Computes the constraint as:

\begin{align} Z_i &= \frac{1}{2} \tilde{\gamma}_{ij} \left( \hat{\Gamma}^j - \tilde{\Gamma}^j\right) \end{align}

where \(\tilde{\gamma}_{ij}\) is the conformal spatial metric defined by Ccz4::Tags::ConformalMetric and \(\left(\hat{\Gamma}^i - \tilde{\Gamma}^i\right)\) is the CCZ4 temporary expression defined by Ccz4::Tags::GammaHatMinusContractedConformalChristoffel.

◆ spatial_z4_constraint() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::i< DataType, Dim, Frame > Ccz4::spatial_z4_constraint ( const tnsr::ii< DataType, Dim, Frame > &  conformal_spatial_metric,
const tnsr::I< DataType, Dim, Frame > &  gamma_hat_minus_contracted_conformal_christoffel 
)

Computes the spatial part of the Z4 constraint.

Details

Computes the constraint as:

\begin{align} Z_i &= \frac{1}{2} \tilde{\gamma}_{ij} \left( \hat{\Gamma}^j - \tilde{\Gamma}^j\right) \end{align}

where \(\tilde{\gamma}_{ij}\) is the conformal spatial metric defined by Ccz4::Tags::ConformalMetric and \(\left(\hat{\Gamma}^i - \tilde{\Gamma}^i\right)\) is the CCZ4 temporary expression defined by Ccz4::Tags::GammaHatMinusContractedConformalChristoffel.

◆ upper_spatial_z4_constraint() [1/2]

template<size_t Dim, typename Frame , typename DataType >
void Ccz4::upper_spatial_z4_constraint ( const gsl::not_null< tnsr::I< DataType, Dim, Frame > * >  result,
const gsl::not_null< Scalar< DataType > * >  buffer,
const Scalar< DataType > &  conformal_factor_squared,
const tnsr::I< DataType, Dim, Frame > &  gamma_hat_minus_contracted_conformal_christoffel 
)

Computes the spatial part of the upper Z4 constraint.

Details

Computes the constraint as:

\begin{align} Z^i &= \frac{1}{2} \phi^2 \left( \hat{\Gamma}^i - \tilde{\Gamma}^i\right) \end{align}

where \(\phi^2 \) is the square of the conformal factor defined by Ccz4::Tags::ConformalFactorSquared and \(\left(\hat{\Gamma}^i - \tilde{\Gamma}^i\right)\) is the CCZ4 temporary expression defined by Ccz4::Tags::GammaHatMinusContractedConformalChristoffel.

◆ upper_spatial_z4_constraint() [2/2]

template<size_t Dim, typename Frame , typename DataType >
tnsr::I< DataType, Dim, Frame > Ccz4::upper_spatial_z4_constraint ( const Scalar< DataType > &  conformal_factor_squared,
const tnsr::I< DataType, Dim, Frame > &  gamma_hat_minus_contracted_conformal_christoffel 
)

Computes the spatial part of the upper Z4 constraint.

Details

Computes the constraint as:

\begin{align} Z^i &= \frac{1}{2} \phi^2 \left( \hat{\Gamma}^i - \tilde{\Gamma}^i\right) \end{align}

where \(\phi^2 \) is the square of the conformal factor defined by Ccz4::Tags::ConformalFactorSquared and \(\left(\hat{\Gamma}^i - \tilde{\Gamma}^i\right)\) is the CCZ4 temporary expression defined by Ccz4::Tags::GammaHatMinusContractedConformalChristoffel.