SpecificEnthalpy.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
8 #include "PointwiseFunctions/Hydro/Tags.hpp"
9 #include "Utilities/TMPL.hpp"
10 
11 namespace hydro {
12 /*!
13  * \ingroup EquationsOfStateGroup
14  * \brief Computes the relativistic specific enthalpy \f$h\f$ as:
15  * \f$ h = 1 + \epsilon + \frac{p}{\rho} \f$
16  * where \f$\epsilon\f$ is the specific internal energy, \f$p\f$
17  * is the pressure, and \f$\rho\f$ is the rest mass density.
18  */
19 template <typename DataType>
21  const Scalar<DataType>& rest_mass_density,
22  const Scalar<DataType>& specific_internal_energy,
23  const Scalar<DataType>& pressure) noexcept;
24 
25 namespace Tags {
26 /// Compute item for specific enthalpy \f$h\f$.
27 ///
28 /// Can be retrieved using `hydro::Tags::SpecificEnthalpy`
29 template <typename DataType>
31  static constexpr auto function = &specific_enthalpy<DataType>;
32  using argument_tags =
33  tmpl::list<RestMassDensity<DataType>, SpecificInternalEnergy<DataType>,
35 };
36 } // namespace Tags
37 } // namespace hydro
The fluid pressure .
Definition: Tags.hpp:123
The specific internal energy .
Definition: Tags.hpp:176
Marks a DataBoxTag as being a compute item that executes a function.
Definition: DataBoxTag.hpp:155
Compute item for specific enthalpy .
Definition: SpecificEnthalpy.hpp:30
Scalar< DataType > specific_enthalpy(const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &pressure) noexcept
Computes the relativistic specific enthalpy as: where is the specific internal energy...
Definition: DataBoxTag.hpp:29
Defines a list of useful type aliases for tensors.
Wraps the template metaprogramming library used (brigand)
Items related to hydrodynamic systems.
Definition: LorentzFactor.hpp:13
Defines classes SimpleTag, PrefixTag, ComputeTag and several functions for retrieving tag info...
The specific enthalpy .
Definition: Tags.hpp:169
Tensor< T, Symmetry<>, index_list<> > Scalar
Scalar type.
Definition: TypeAliases.hpp:21