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
|