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 "PointwiseFunctions/AnalyticSolutions/GeneralRelativity/Solutions.hpp" 9 : #include "PointwiseFunctions/Hydro/TagsDeclarations.hpp" 10 : #include "PointwiseFunctions/Hydro/Temperature.hpp" 11 : 12 : namespace RelativisticEuler { 13 : /// Base struct for properties common to all Relativistic Euler analytic 14 : /// solutions 15 : template <size_t Dim> 16 1 : struct AnalyticSolution { 17 0 : static constexpr size_t volume_dim = Dim; 18 : 19 : template <typename DataType> 20 0 : using tags = tmpl::push_back< 21 : typename gr::AnalyticSolution<Dim>::template tags<DataType>, 22 : hydro::Tags::RestMassDensity<DataType>, 23 : hydro::Tags::ElectronFraction<DataType>, 24 : hydro::Tags::SpecificInternalEnergy<DataType>, 25 : hydro::Tags::Temperature<DataType>, hydro::Tags::Pressure<DataType>, 26 : hydro::Tags::SpatialVelocity<DataType, Dim>, 27 : hydro::Tags::MagneticField<DataType, Dim>, 28 : hydro::Tags::DivergenceCleaningField<DataType>, 29 : hydro::Tags::LorentzFactor<DataType>, 30 : hydro::Tags::SpecificEnthalpy<DataType>>; 31 : }; 32 : 33 : /*! 34 : * \ingroup AnalyticSolutionsGroup 35 : * \brief Holds classes implementing a solution to the relativistic Euler 36 : * system. 37 : */ 38 : namespace Solutions {} 39 : } // namespace RelativisticEuler