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 gr {
13 : namespace Tags {
14 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
15 : struct SpacetimeMetric;
16 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
17 : struct InverseSpacetimeMetric;
18 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
19 : struct SpatialMetric;
20 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
21 0 : struct DetAndInverseSpatialMetric;
22 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
23 : struct InverseSpatialMetric;
24 : template <typename DataType>
25 : struct DetSpatialMetric;
26 : template <typename DataType>
27 : struct SqrtDetSpatialMetric;
28 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
29 : struct DerivDetSpatialMetric;
30 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
31 : struct DerivInverseSpatialMetric;
32 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
33 : struct Shift;
34 : template <typename DataType>
35 : struct Lapse;
36 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
37 : struct DerivativesOfSpacetimeMetric;
38 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
39 : struct SpacetimeChristoffelFirstKind;
40 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
41 : struct SpacetimeChristoffelSecondKind;
42 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
43 : struct SpatialChristoffelFirstKind;
44 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
45 : struct SpatialChristoffelSecondKind;
46 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
47 : struct SpacetimeNormalOneForm;
48 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
49 : struct SpacetimeNormalVector;
50 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
51 : struct TraceSpacetimeChristoffelFirstKind;
52 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
53 : struct TraceSpacetimeChristoffelSecondKind;
54 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
55 : struct TraceSpatialChristoffelFirstKind;
56 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
57 : struct TraceSpatialChristoffelSecondKind;
58 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
59 : struct SpatialChristoffelSecondKindContracted;
60 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
61 : struct ExtrinsicCurvature;
62 : template <typename DataType>
63 : struct TraceExtrinsicCurvature;
64 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
65 : struct SpatialRicci;
66 : template <typename DataType>
67 : struct SpatialRicciScalar;
68 : template <typename DataType>
69 : struct Psi4Real;
70 : template <typename DataType>
71 : struct EnergyDensity;
72 : template <typename DataType>
73 : struct StressTrace;
74 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
75 : struct MomentumDensity;
76 : template <typename DataType>
77 : struct HamiltonianConstraint;
78 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
79 : struct MomentumConstraint;
80 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
81 : struct WeylElectric;
82 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial>
83 : struct WeylMagnetic;
84 : template <typename DataType>
85 : struct WeylElectricScalar;
86 : template <typename DataType>
87 : struct WeylMagneticScalar;
88 : template <typename DataType, size_t Dim, typename Frame>
89 : struct WeylTypeD1;
90 : template <typename Datatype>
91 : struct WeylTypeD1Scalar;
92 : } // namespace Tags
93 : } // namespace gr
|