Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include "DataStructures/DataBox/Tag.hpp" 7 : #include "DataStructures/Tensor/TypeAliases.hpp" 8 : 9 : /// \cond 10 : class DataVector; 11 : /// \endcond 12 : 13 : namespace gh { 14 : namespace Tags { 15 : /// \f$\gamma_1 \gamma_2\f$ constraint damping product 16 1 : struct Gamma1Gamma2 : db::SimpleTag { 17 0 : using type = Scalar<DataVector>; 18 : }; 19 : 20 : /// \f$0.5\Pi_{ab}n^an^b\f$ 21 1 : struct HalfPiTwoNormals : db::SimpleTag { 22 0 : using type = Scalar<DataVector>; 23 : }; 24 : 25 : /// \f$n^a \mathcal{C}_a\f$ 26 1 : struct NormalDotOneIndexConstraint : db::SimpleTag { 27 0 : using type = Scalar<DataVector>; 28 : }; 29 : 30 : /// \f$\gamma_1 + 1\f$ 31 1 : struct Gamma1Plus1 : db::SimpleTag { 32 0 : using type = Scalar<DataVector>; 33 : }; 34 : 35 : /// \f$\Pi_{ab}n^a\f$ 36 : template <size_t Dim> 37 1 : struct PiOneNormal : db::SimpleTag { 38 0 : using type = tnsr::a<DataVector, Dim, Frame::Inertial>; 39 : }; 40 : 41 : /// \f$0.5\Phi_{iab}n^an^b\f$ 42 : template <size_t Dim> 43 1 : struct HalfPhiTwoNormals : db::SimpleTag { 44 0 : using type = tnsr::i<DataVector, Dim, Frame::Inertial>; 45 : }; 46 : 47 : /// \f$\beta^i \mathcal{C}_{iab}\f$ 48 : template <size_t Dim> 49 1 : struct ShiftDotThreeIndexConstraint : db::SimpleTag { 50 0 : using type = tnsr::aa<DataVector, Dim, Frame::Inertial>; 51 : }; 52 : 53 : /// \f$\v^i_g \mathcal{C}_{iab}\f$ 54 : template <size_t Dim> 55 1 : struct MeshVelocityDotThreeIndexConstraint : db::SimpleTag { 56 0 : using type = tnsr::aa<DataVector, Dim, Frame::Inertial>; 57 : }; 58 : 59 : /// \f$\Phi_{iab}n^a\f$ 60 : template <size_t Dim> 61 1 : struct PhiOneNormal : db::SimpleTag { 62 0 : using type = tnsr::ia<DataVector, Dim, Frame::Inertial>; 63 : }; 64 : 65 : /// \f$\Pi_a{}^b\f$ 66 : template <size_t Dim> 67 1 : struct PiSecondIndexUp : db::SimpleTag { 68 0 : using type = tnsr::aB<DataVector, Dim, Frame::Inertial>; 69 : }; 70 : 71 : /// \f$\Phi^i{}_{ab}\f$ 72 : template <size_t Dim> 73 1 : struct PhiFirstIndexUp : db::SimpleTag { 74 0 : using type = tnsr::Iaa<DataVector, Dim, Frame::Inertial>; 75 : }; 76 : 77 : /// \f$\Phi_{ia}{}^b\f$ 78 : template <size_t Dim> 79 1 : struct PhiThirdIndexUp : db::SimpleTag { 80 0 : using type = tnsr::iaB<DataVector, Dim, Frame::Inertial>; 81 : }; 82 : 83 : /// \f$\Gamma_{ab}{}^c\f$ 84 : template <size_t Dim> 85 1 : struct SpacetimeChristoffelFirstKindThirdIndexUp : db::SimpleTag { 86 0 : using type = tnsr::abC<DataVector, Dim, Frame::Inertial>; 87 : }; 88 : } // namespace Tags 89 : } // namespace gh