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/Tensor/IndexType.hpp"
9 :
10 : class DataVector;
11 :
12 : namespace Ccz4 {
13 : /// \brief Tags for the CCZ4 formulation of Einstein equations
14 : namespace Tags {
15 : // Quantities of interest
16 : template <typename DataType>
17 : struct ConformalFactor;
18 : template <typename DataType>
19 : struct ConformalFactorSquared;
20 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
21 : struct ATilde;
22 : template <typename DataType>
23 : struct TraceATilde;
24 : template <typename DataType>
25 : struct LogLapse;
26 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
27 : struct FieldA;
28 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
29 : struct FieldB;
30 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
31 : struct FieldD;
32 : template <typename DataType>
33 : struct LogConformalFactor;
34 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
35 : struct FieldP;
36 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
37 : struct FieldDUp;
38 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
39 : struct ConformalChristoffelSecondKind;
40 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
41 : struct DerivConformalChristoffelSecondKind;
42 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
43 : struct ChristoffelSecondKind;
44 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
45 : struct Ricci;
46 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
47 : struct GradGradLapse;
48 : template <typename DataType>
49 : struct DivergenceLapse;
50 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
51 : struct ContractedConformalChristoffelSecondKind;
52 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
53 : struct DerivContractedConformalChristoffelSecondKind;
54 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
55 : struct GammaHat;
56 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
57 : struct SpatialZ4Constraint;
58 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
59 : struct SpatialZ4ConstraintUp;
60 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
61 : struct GradSpatialZ4Constraint;
62 : template <typename DataType>
63 : struct RicciScalarPlusDivergenceZ4Constraint;
64 : // Temporary expressions for computing above quantities of interest
65 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
66 : struct GammaHatMinusContractedConformalChristoffel;
67 : template <typename DataType>
68 : struct KMinus2ThetaC;
69 : template <typename DataType>
70 : struct KMinusK0Minus2ThetaC;
71 : template <typename DataType>
72 : struct ContractedFieldB;
73 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
74 : struct ConformalMetricTimesFieldB;
75 : template <typename DataType>
76 : struct LapseTimesRicciScalarPlus2DivergenceZ4Constraint;
77 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
78 : struct ConformalMetricTimesTraceATilde;
79 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
80 : struct LapseTimesATilde;
81 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
82 : struct FieldDUpTimesATilde;
83 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
84 : struct LapseTimesDerivATilde;
85 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
86 : struct InverseConformalMetricTimesDerivATilde;
87 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
88 : struct ATildeMinusOneThirdConformalMetricTimesTraceATilde;
89 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
90 : struct LapseTimesFieldA;
91 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
92 : struct ShiftTimesDerivGammaHat;
93 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
94 : struct InverseTauTimesConformalMetric;
95 : template <typename DataType>
96 : struct LapseTimesSlicingCondition;
97 : } // namespace Tags
98 :
99 : /// \brief Input option tags for the CCZ4 evolution system
100 : namespace OptionTags {
101 : struct Group;
102 : } // namespace OptionTags
103 : } // namespace Ccz4
|