SpECTRE
v2024.08.03
|
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. | |
Classes | |
struct | TimeDerivative |
Compute the RHS of the first order CCZ4 formulation of Einstein's equations [60]. More... | |
Enumerations | |
enum class | EvolveShift : bool { False = false , True = true } |
Indicates whether or not to evolve the shift in a system evolved using first order CCZ4 [60]. More... | |
enum class | SlicingConditionType : char { Harmonic , Log } |
Indicates which slicing condition to use in a system evolved using first order CCZ4 [60]. More... | |
Functions | |
template<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
void | spatial_ricci_tensor (const gsl::not_null< tnsr::ii< DataType, Dim, Frame > * > result, const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::i< DataType, Dim, Frame > &contracted_christoffel_second_kind, const tnsr::ij< DataType, Dim, Frame > &contracted_d_conformal_christoffel_difference, 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 > &contracted_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<typename DataType , size_t Dim, typename Frame > | |
tnsr::ii< DataType, Dim, Frame > | spatial_ricci_tensor (const tnsr::Ijj< DataType, Dim, Frame > &christoffel_second_kind, const tnsr::i< DataType, Dim, Frame > &contracted_christoffel_second_kind, const tnsr::ij< DataType, Dim, Frame > &contracted_d_conformal_christoffel_difference, 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 > &contracted_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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
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<typename DataType , size_t Dim, typename Frame > | |
void | upper_spatial_z4_constraint (const gsl::not_null< tnsr::I< DataType, Dim, Frame > * > result, const Scalar< DataType > &half_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<typename DataType , size_t Dim, typename Frame > | |
tnsr::I< DataType, Dim, Frame > | upper_spatial_z4_constraint (const Scalar< DataType > &half_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... | |
Items related to evolving the first-order CCZ4 system.
|
strong |
|
strong |
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.
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
.
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.
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
.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
.
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.
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
.
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.
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
.
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.
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
.
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.
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
.
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.
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
.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
.
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.
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
.
void Ccz4::spatial_ricci_tensor | ( | const gsl::not_null< tnsr::ii< DataType, Dim, Frame > * > | result, |
const tnsr::Ijj< DataType, Dim, Frame > & | christoffel_second_kind, | ||
const tnsr::i< DataType, Dim, Frame > & | contracted_christoffel_second_kind, | ||
const tnsr::ij< DataType, Dim, Frame > & | contracted_d_conformal_christoffel_difference, | ||
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 > & | contracted_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.
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}
The argument contracted_christoffel_second_kind
corresponds to the \(\Gamma^m_{lm}\) term, the argument contracted_d_conformal_christoffel_difference
corresponds to the \(\partial_m \tilde{\Gamma}^m_{ij} - \partial_j \tilde{\Gamma}^m_{im}\) term, and the argument contracted_field_d_up
corresponds to the \(D_m{}^{ml}\) term.
tnsr::ii< DataType, Dim, Frame > Ccz4::spatial_ricci_tensor | ( | const tnsr::Ijj< DataType, Dim, Frame > & | christoffel_second_kind, |
const tnsr::i< DataType, Dim, Frame > & | contracted_christoffel_second_kind, | ||
const tnsr::ij< DataType, Dim, Frame > & | contracted_d_conformal_christoffel_difference, | ||
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 > & | contracted_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.
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}
The argument contracted_christoffel_second_kind
corresponds to the \(\Gamma^m_{lm}\) term, the argument contracted_d_conformal_christoffel_difference
corresponds to the \(\partial_m \tilde{\Gamma}^m_{ij} - \partial_j \tilde{\Gamma}^m_{im}\) term, and the argument contracted_field_d_up
corresponds to the \(D_m{}^{ml}\) term.
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.
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
.
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.
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
.
void Ccz4::upper_spatial_z4_constraint | ( | const gsl::not_null< tnsr::I< DataType, Dim, Frame > * > | result, |
const Scalar< DataType > & | half_conformal_factor_squared, | ||
const tnsr::I< DataType, Dim, Frame > & | gamma_hat_minus_contracted_conformal_christoffel | ||
) |
Computes the spatial part of the upper Z4 constraint.
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
.
tnsr::I< DataType, Dim, Frame > Ccz4::upper_spatial_z4_constraint | ( | const Scalar< DataType > & | half_conformal_factor_squared, |
const tnsr::I< DataType, Dim, Frame > & | gamma_hat_minus_contracted_conformal_christoffel | ||
) |
Computes the spatial part of the upper Z4 constraint.
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
.