Tags.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 #include <string>
8 
11 
12 namespace NewtonianEuler {
13 namespace Tags {
14 
15 /// The mass density of the fluid.
16 template <typename DataType>
18  using type = Scalar<DataType>;
19  static std::string name() noexcept { return "MassDensity"; }
20 };
21 
22 /// The momentum density of the fluid.
23 template <typename DataType, size_t Dim, typename VolumeFrame = Frame::Inertial>
25  using type = tnsr::I<DataType, Dim, VolumeFrame>;
26  static std::string name() noexcept { return "MomentumDensity"; }
27 };
28 
29 /// The energy density of the fluid.
30 template <typename DataType>
32  using type = Scalar<DataType>;
33  static std::string name() noexcept { return "EnergyDensity"; }
34 };
35 
36 /// The macroscopic or flow velocity of the fluid.
37 template <typename DataType, size_t Dim, typename VolumeFrame = Frame::Inertial>
39  using type = tnsr::I<DataType, Dim, VolumeFrame>;
40  static std::string name() noexcept { return "Velocity"; }
41 };
42 
43 /// The specific internal energy of the fluid.
44 template <typename DataType>
46  using type = Scalar<DataType>;
47  static std::string name() noexcept { return "SpecificInternalEnergy"; }
48 };
49 
50 /// The fluid pressure.
51 template <typename DataType>
53  using type = Scalar<DataType>;
54  static std::string name() noexcept { return "Pressure"; }
55 };
56 
57 } // namespace Tags
58 } // namespace NewtonianEuler
The mass density of the fluid.
Definition: Tags.hpp:17
The momentum density of the fluid.
Definition: Tags.hpp:24
The macroscopic or flow velocity of the fluid.
Definition: Tags.hpp:38
Tags for the DataBox inherit from this type.
Definition: DataBoxTag.hpp:65
The specific internal energy of the fluid.
Definition: Tags.hpp:45
The energy density of the fluid.
Definition: Tags.hpp:31
Definition: DataBoxTag.hpp:29
The fluid pressure.
Definition: Tags.hpp:52
Defines a list of useful type aliases for tensors.
Defines classes SimpleTag, PrefixTag, ComputeTag and several functions for retrieving tag info...
Tensor< T, Symmetry<>, index_list<> > Scalar
Scalar type.
Definition: TypeAliases.hpp:21
Items related to evolving the Newtonian Euler system.
Definition: Characteristics.hpp:17