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 :
89 : /// \f$2H^a\f$
90 : template <size_t Dim>
91 1 : struct TwoGaugeHUp : db::SimpleTag {
92 0 : using type = tnsr::A<DataVector, Dim, Frame::Inertial>;
93 : };
94 : } // namespace Tags
95 : } // namespace gh
|