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 : namespace gh { 11 : 12 : /// \brief Tags for the generalized harmonic formulation of Einstein equations 13 : namespace Tags { 14 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 15 : struct Pi; 16 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 17 : struct Phi; 18 : 19 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 20 : struct InitialGaugeH; 21 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 22 : struct SpacetimeDerivInitialGaugeH; 23 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 24 : struct GaugeH; 25 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 26 : struct SpacetimeDerivGaugeH; 27 : 28 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 29 : struct VSpacetimeMetric; 30 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 31 : struct VZero; 32 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 33 : struct VPlus; 34 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 35 : struct VMinus; 36 : 37 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 38 : struct CharacteristicSpeeds; 39 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 40 : struct CharacteristicFields; 41 : template <typename DataType, size_t Dim, typename Frame = Frame::Inertial> 42 : struct EvolvedFieldsFromCharacteristicFields; 43 : 44 : template <typename DataType, size_t SpatialDim, 45 : typename Frame = Frame::Inertial> 46 : struct GaugeConstraint; 47 : template <typename DataType, size_t SpatialDim, 48 : typename Frame = Frame::Inertial> 49 : struct FConstraint; 50 : template <typename DataType, size_t SpatialDim, 51 : typename Frame = Frame::Inertial> 52 : struct TwoIndexConstraint; 53 : template <typename DataType, size_t SpatialDim, 54 : typename Frame = Frame::Inertial> 55 : struct ThreeIndexConstraint; 56 : template <typename DataType, size_t SpatialDim, 57 : typename Frame = Frame::Inertial> 58 : struct FourIndexConstraint; 59 : template <typename DataType, size_t SpatialDim, 60 : typename Frame = Frame::Inertial> 61 : struct ConstraintEnergy; 62 : } // namespace Tags 63 : 64 : /// \brief Input option tags for the generalized harmonic evolution system 65 : namespace OptionTags { 66 : struct Group; 67 : } // namespace OptionTags 68 : } // namespace gh