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 grmhd { 13 : /// Base struct for properties common to all GRMHD analytic solutions 14 1 : struct AnalyticSolution { 15 0 : static constexpr size_t volume_dim = 3_st; 16 : 17 : template <typename DataType> 18 0 : using tags = 19 : tmpl::push_back<typename gr::AnalyticSolution<3>::template tags<DataType>, 20 : hydro::Tags::RestMassDensity<DataType>, 21 : hydro::Tags::ElectronFraction<DataType>, 22 : hydro::Tags::SpecificInternalEnergy<DataType>, 23 : hydro::Tags::Temperature<DataType>, 24 : hydro::Tags::Pressure<DataType>, 25 : hydro::Tags::SpatialVelocity<DataType, 3>, 26 : hydro::Tags::MagneticField<DataType, 3>, 27 : hydro::Tags::DivergenceCleaningField<DataType>, 28 : hydro::Tags::LorentzFactor<DataType>, 29 : hydro::Tags::SpecificEnthalpy<DataType>>; 30 : }; 31 : 32 : /*! 33 : * \ingroup AnalyticSolutionsGroup 34 : * \brief Holds classes implementing a solution to the GrMhd system. 35 : */ 36 : namespace Solutions {} 37 : } // namespace grmhd