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^{ij} = \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
|