Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <string> 7 : 8 : #include "DataStructures/DataBox/Tag.hpp" 9 : #include "DataStructures/Tensor/TypeAliases.hpp" 10 : 11 : /// \cond 12 : class DataVector; 13 : /// \endcond 14 : 15 : /*! 16 : * \ingroup EllipticSystemsGroup 17 : * \brief Items related to solving for irrotational bns initial data 18 : */ 19 1 : namespace BnsInitialData::Tags { 20 : 21 : /*! 22 : * \brief The shift plus a spatial vector \f$ k^i\f$ 23 : * \f$B^i = \beta^i + k^i\f$ 24 : */ 25 : template <typename DataType> 26 1 : struct RotationalShift : db::SimpleTag { 27 0 : using type = tnsr::I<DataType, 3>; 28 : }; 29 : /*! 30 : * \brief The stress-energy corresponding to the rotation shift 31 : * 32 : * 33 : * \f[\Sigma^i_j = \frac{1}{2}\frac{B^iB_j}{\alpha^2}\f] 34 : */ 35 : template <typename DataType> 36 1 : struct RotationalShiftStress : db::SimpleTag { 37 0 : using type = tnsr::II<DataType, 3>; 38 : }; 39 : /*! 40 : * \brief The derivative \f$D_i \ln (\alpha \rho/h)\f$ 41 : */ 42 : template <typename DataType> 43 1 : struct DerivLogLapseTimesDensityOverSpecificEnthalpy : db::SimpleTag { 44 0 : using type = tnsr::i<DataType, 3>; 45 : }; 46 : 47 : /*! 48 : * \brief The velocity potential for the fluid flow \f$\Phi\f$, i.e. the 49 : * curl-free part of the fluid is given by \f$\nabla_a \Phi = h u_a\f$ 50 : */ 51 : template <typename DataType> 52 1 : struct VelocityPotential : db::SimpleTag { 53 0 : using type = Scalar<DataType>; 54 : }; 55 : 56 : template <typename DataType> 57 0 : struct SpatialRotationalKillingVector : db::SimpleTag { 58 0 : using type = tnsr::I<DataType, 3>; 59 : }; 60 : 61 : template <typename DataType> 62 0 : struct DerivSpatialRotationalKillingVector : db::SimpleTag { 63 0 : using type = tnsr::iJ<DataType, 3>; 64 : }; 65 : 66 0 : struct EulerEnthalpyConstant : db::SimpleTag { 67 0 : using type = double; 68 : }; 69 : 70 : } // namespace BnsInitialData::Tags