SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/Ccz4 - TempTags.hpp Hit Total Coverage
Commit: 3c072f0ce967e2e56649d3fa12aa2a0e4fe2a42e Lines: 16 33 48.5 %
Date: 2024-04-23 20:50:18
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include <cstddef>
       7             : 
       8             : #include "DataStructures/DataBox/Tag.hpp"
       9             : #include "DataStructures/Tensor/TypeAliases.hpp"
      10             : #include "Evolution/Systems/Ccz4/TagsDeclarations.hpp"
      11             : #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
      12             : 
      13             : namespace Ccz4 {
      14             : namespace Tags {
      15             : /*!
      16             :  * \brief The CCZ4 temporary expression
      17             :  * \f$\hat{\Gamma}^i - \tilde{\Gamma}^i\f$
      18             :  *
      19             :  * \details We define:
      20             :  *
      21             :  * \f{align}
      22             :  *     \hat{\Gamma}^i - \tilde{\Gamma}^i &= 2 \tilde{\gamma}^{ij} Z_j
      23             :  * \f}
      24             :  *
      25             :  * where \f$\hat{\Gamma}^{i}\f$ is the CCZ4 evolved variable defined by
      26             :  * `Ccz4::Tags::GammaHat`, \f$\tilde{\Gamma}^{i}\f$ is the contraction of the
      27             :  * conformal spatial Christoffel symbols of the second kind defined by
      28             :  * `Ccz4::Tags::ContractedConformalChristoffelSecondKind`,
      29             :  * \f$\tilde{\gamma}^{ij}\f$ is the inverse conformal spatial metric defined by
      30             :  * `Ccz4::Tags::InverseConformalMetric`, and \f$Z_i\f$ is the spatial part of
      31             :  * the Z4 constraint defined by `Ccz4::Tags::SpatialZ4Constraint`.
      32             :  */
      33             : template <typename DataType, size_t Dim, typename Frame>
      34           1 : struct GammaHatMinusContractedConformalChristoffel : db::SimpleTag {
      35           0 :   using type = tnsr::I<DataType, Dim, Frame>;
      36             : };
      37             : 
      38             : /*!
      39             :  * \brief The CCZ4 temporary expression \f$K - 2 \Theta c\f$
      40             :  *
      41             :  * \details Here, \f$K\f$ is the trace of the extrinsic curvature defined by
      42             :  * `gr::Tags::TraceExtrinsicCurvature`, \f$\Theta\f$ is the projection of the Z4
      43             :  * four-vector along the normal direction, and \f$c\f$ controls whether to
      44             :  * include algebraic source terms proportional to \f$\Theta\f$.
      45             :  */
      46             : template <typename DataType>
      47           1 : struct KMinus2ThetaC : db::SimpleTag {
      48           0 :   using type = Scalar<DataType>;
      49             : };
      50             : 
      51             : /*!
      52             :  * \brief The CCZ4 temporary expression \f$K - K_0 - 2 \Theta c\f$
      53             :  *
      54             :  * \details Here, \f$K\f$ is the trace of the extrinsic curvature defined by
      55             :  * `gr::Tags::TraceExtrinsicCurvature`, \f$K_0\f$ is the initial time derivative
      56             :  * of the lapse, \f$\Theta\f$ is the projection of the Z4 four-vector along the
      57             :  * normal direction, and \f$c\f$ controls whether to include algebraic source
      58             :  * terms proportional to \f$\Theta\f$.
      59             :  */
      60             : template <typename DataType>
      61           1 : struct KMinusK0Minus2ThetaC : db::SimpleTag {
      62           0 :   using type = Scalar<DataType>;
      63             : };
      64             : 
      65             : /*!
      66             :  * \brief The CCZ4 temporary expression \f$B_k{}^k\f$
      67             :  *
      68             :  * \details Here, \f$B_k{}^k\f$ is the contraction of the CCZ4 auxiliary
      69             :  * variable defined by `Ccz4::Tags::FieldB`.
      70             :  */
      71             : template <typename DataType>
      72           1 : struct ContractedFieldB : db::SimpleTag {
      73           0 :   using type = Scalar<DataType>;
      74             : };
      75             : 
      76             : /*!
      77             :  * \brief The CCZ4 temporary expression \f$\tilde{\gamma}_{ki} B_j{}^k\f$
      78             :  *
      79             :  * \details Here, \f$\tilde{\gamma}_{ij}\f$ is the conformal spatial metric
      80             :  * defined by `Ccz4::Tags::ConformalMetric` and \f$B_i{}^j\f$ is the CCZ4
      81             :  * auxiliary variable defined by `Ccz4::Tags::FieldB`.
      82             :  */
      83             : template <typename DataType, size_t Dim, typename Frame>
      84           1 : struct ConformalMetricTimesFieldB : db::SimpleTag {
      85           0 :   using type = tnsr::ij<DataType, Dim, Frame>;
      86             : };
      87             : 
      88             : /*!
      89             :  * \brief The CCZ4 temporary expression \f$\alpha (R + 2 \nabla_k Z^k)\f$
      90             :  *
      91             :  * \details Here, \f$\alpha\f$ is the lapse defined by `gr::Tags::Lapse` and
      92             :  * \f$(R + 2 \nabla_k Z^k)\f$ is the Ricci scalar plus twice the divergence of
      93             :  * the spatial Z4 constraint defined by
      94             :  * `Ccz4::Tags::RicciScalarPlusDivergenceZ4Constraint`.
      95             :  */
      96             : template <typename DataType>
      97           1 : struct LapseTimesRicciScalarPlus2DivergenceZ4Constraint : db::SimpleTag {
      98           0 :   using type = Scalar<DataType>;
      99             : };
     100             : 
     101             : /*!
     102             :  * \brief The CCZ4 temporary expression \f$\tilde{\gamma}_{ij} tr \tilde{A}\f$
     103             :  *
     104             :  * \details Here, \f$\tilde{\gamma}_{ij}\f$ is the conformal spatial metric
     105             :  * defined by `Ccz4::Tags::ConformalMetric` and \f$tr \tilde{A}\f$ is the trace
     106             :  * of the trace-free part of the extrinsic curvature defined by
     107             :  * `Ccz4::Tags::TraceATilde`.
     108             :  */
     109             : template <typename DataType, size_t Dim, typename Frame>
     110           1 : struct ConformalMetricTimesTraceATilde : db::SimpleTag {
     111           0 :   using type = tnsr::ii<DataType, Dim, Frame>;
     112             : };
     113             : 
     114             : /*!
     115             :  * \brief The CCZ4 temporary expression \f$\alpha \tilde{A}_{ij}\f$
     116             :  *
     117             :  * \details Here, \f$\alpha\f$ is the lapse defined by `gr::Tags::Lapse` and
     118             :  * \f$\tilde{A}_{ij}\f$ is the trace-free part of the extrinsic curvature
     119             :  * defined by `Ccz4::Tags::ATilde`.
     120             :  */
     121             : template <typename DataType, size_t Dim, typename Frame>
     122           1 : struct LapseTimesATilde : db::SimpleTag {
     123           0 :   using type = tnsr::ii<DataType, Dim, Frame>;
     124             : };
     125             : 
     126             : /*!
     127             :  * \brief The CCZ4 temporary expression \f$D_k{}^{nm} \tilde{A}_{nm}\f$
     128             :  *
     129             :  * \details Here, \f$D_k{}^{nm}\f$ is analytically negative one half the spatial
     130             :  * derivative of the inverse conformal spatial metric defined by
     131             :  * `Ccz4::Tags::FieldDUp` and \f$\tilde{A}_{nm}\f$ is the trace-free part of the
     132             :  * extrinsic curvature defined by `Ccz4::Tags::ATilde`.
     133             :  */
     134             : template <typename DataType, size_t Dim, typename Frame>
     135           1 : struct FieldDUpTimesATilde : db::SimpleTag {
     136           0 :   using type = tnsr::i<DataType, Dim, Frame>;
     137             : };
     138             : 
     139             : /*!
     140             :  * \brief The CCZ4 temporary expression \f$\alpha \partial_k \tilde{A}_{ij}\f$
     141             :  *
     142             :  * \details Here, \f$\alpha\f$ is the lapse defined by `gr::Tags::Lapse` and
     143             :  * \f$\tilde{A}_{ij}\f$ is the trace-free part of the extrinsic curvature
     144             :  * defined by `Ccz4::Tags::ATilde`, and \f$\partial_k \tilde{A}_{ij}\f$ is its
     145             :  * spatial derivative.
     146             :  */
     147             : template <typename DataType, size_t Dim, typename Frame>
     148           1 : struct LapseTimesDerivATilde : db::SimpleTag {
     149           0 :   using type = tnsr::ijj<DataType, Dim, Frame>;
     150             : };
     151             : 
     152             : /*!
     153             :  * \brief The CCZ4 temporary expression
     154             :  * \f$\tilde{\gamma}^{nm} \partial_k \tilde{A}_{nm}\f$
     155             :  *
     156             :  * \details Here, \f$\tilde{\gamma}^{nm}\f$ is the inverse conformal spatial
     157             :  * metric defined by `Ccz4::Tags::InverseConformalMetric`, \f$\tilde{A}_{ij}\f$
     158             :  * is the trace-free part of the extrinsic curvature defined by
     159             :  * `Ccz4::Tags::ATilde`, and \f$\partial_k \tilde{A}_{ij}\f$ is its spatial
     160             :  * derivative.
     161             :  */
     162             : template <typename DataType, size_t Dim, typename Frame>
     163           1 : struct InverseConformalMetricTimesDerivATilde : db::SimpleTag {
     164           0 :   using type = tnsr::i<DataType, Dim, Frame>;
     165             : };
     166             : 
     167             : /*!
     168             :  * \brief The CCZ4 temporary expression
     169             :  * \f$\tilde{A}_{ij} - \frac{1}{3} \tilde{\gamma}_{ij} tr \tilde{A}\f$
     170             :  *
     171             :  * \details Here, \f$\tilde{A}_{ij}\f$ is the trace-free part of the extrinsic
     172             :  * curvature defined by `Ccz4::Tags::ATilde`, \f$tr \tilde{A}\f$ is its trace
     173             :  * defined by `Ccz4::Tags::TraceATilde`, and \f$\tilde{\gamma}_{ij}\f$ is the
     174             :  * conformal spatial metric defined by `Ccz4::Tags::ConformalMetric`.
     175             :  */
     176             : template <typename DataType, size_t Dim, typename Frame>
     177           1 : struct ATildeMinusOneThirdConformalMetricTimesTraceATilde : db::SimpleTag {
     178           0 :   using type = tnsr::ii<DataType, Dim, Frame>;
     179             : };
     180             : 
     181             : /*!
     182             :  * \brief The CCZ4 temporary expression \f$\alpha A_k\f$
     183             :  *
     184             :  * \details Here, \f$\alpha\f$ is the lapse defined by `gr::Tags::Lapse` and
     185             :  * \f$A_k\f$ is the CCZ4 auxiliary variable defined by `Ccz4::Tags::FieldA`.
     186             :  */
     187             : template <typename DataType, size_t Dim, typename Frame>
     188           1 : struct LapseTimesFieldA : db::SimpleTag {
     189           0 :   using type = tnsr::i<DataType, Dim, Frame>;
     190             : };
     191             : 
     192             : /*!
     193             :  * \brief The CCZ4 temporary expression \f$\beta^k \partial_k \hat{\Gamma}^i\f$
     194             :  *
     195             :  * \details Here, \f$\beta^k\f$ is the shift defined by `gr::Tags::Shift`,
     196             :  * \f$\hat{\Gamma}^i\f$ is the CCZ4 evolved variable defined by
     197             :  * `Ccz4::Tags::GammaHat`, and \f$\partial_k \hat{\Gamma}^i\f$ is its spatial
     198             :  * derivative.
     199             :  */
     200             : template <typename DataType, size_t Dim, typename Frame>
     201           1 : struct ShiftTimesDerivGammaHat : db::SimpleTag {
     202           0 :   using type = tnsr::I<DataType, Dim, Frame>;
     203             : };
     204             : 
     205             : /*!
     206             :  * \brief The CCZ4 temporary expression \f$\tau^{-1} \tilde{\gamma}_{ij}\f$
     207             :  *
     208             :  * \details Here, \f$\tilde{\gamma}_{ij}\f$ is the conformal spatial metric
     209             :  * defined by `Ccz4::Tags::ConformalMetric` and \f$\tau\f$ is the relaxation
     210             :  * time to enforce the algebraic constraints on the determinant of the conformal
     211             :  * spatial metric and on the trace of the trace-free part of the extrinsic
     212             :  * curvature that is defined by `Ccz4::Tags::ATilde`.
     213             :  */
     214             : template <typename DataType, size_t Dim, typename Frame>
     215           1 : struct InverseTauTimesConformalMetric : db::SimpleTag {
     216           0 :   using type = tnsr::ii<DataType, Dim, Frame>;
     217             : };
     218             : 
     219             : /*!
     220             :  * \brief The CCZ4 temporary expression \f$\alpha g(\alpha)\f$
     221             :  *
     222             :  * \details Here, \f$\alpha\f$ is the lapse defined by `gr::Tags::Lapse` and
     223             :  * \f$g(\alpha)\f$ is a constant that controls the slicing conditions.
     224             :  * \f$g(\alpha) = 1\f$ leads to harmonic slicing and
     225             :  * \f$g(\alpha) = 2 / \alpha\f$ leads to 1 + log slicing.
     226             :  */
     227             : template <typename DataType>
     228           1 : struct LapseTimesSlicingCondition : db::SimpleTag {
     229           0 :   using type = Scalar<DataType>;
     230             : };
     231             : }  // namespace Tags
     232             : }  // namespace Ccz4

Generated by: LCOV version 1.14