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 #include "Evolution/Systems/GrMhd/ValenciaDivClean/TagsDeclarations.hpp"
12 #include "Options/Options.hpp"
13 
14 class DataVector;
15 
16 namespace OptionTags {
17 /// \brief The constraint damping parameter
19  using type = double;
20  static constexpr OptionString help{
21  "constraint damping parameter for divergence cleaning"};
22 };
23 } // namespace OptionTags
24 
25 namespace grmhd {
26 namespace ValenciaDivClean {
27 /// %Tags for the Valencia formulation of the ideal GRMHD equations
28 /// with divergence cleaning.
29 namespace Tags {
30 
31 /// The characteristic speeds
34  static std::string name() noexcept { return "CharacteristicSpeeds"; }
35 };
36 
37 /// The constraint damping parameter for divergence cleaning
39  using type = double;
40  static std::string name() noexcept { return "ConstraintDampingParameter"; }
41 };
42 
43 /// The densitized rest-mass density \f${\tilde D}\f$
45  using type = Scalar<DataVector>;
46  static std::string name() noexcept { return "TildeD"; }
47 };
48 
49 /// The densitized energy density \f${\tilde \tau}\f$
51  using type = Scalar<DataVector>;
52  static std::string name() noexcept { return "TildeTau"; }
53 };
54 
55 /// The densitized momentum density \f${\tilde S_i}\f$
56 template <typename Fr>
58  using type = tnsr::i<DataVector, 3, Fr>;
59  static std::string name() noexcept { return Frame::prefix<Fr>() + "TildeS"; }
60 };
61 
62 /// The densitized magnetic field \f${\tilde B^i}\f$
63 template <typename Fr>
65  using type = tnsr::I<DataVector, 3, Fr>;
66  static std::string name() noexcept { return Frame::prefix<Fr>() + "TildeB"; }
67 };
68 
69 /// The densitized divergence-cleaning field \f${\tilde \Phi}\f$
71  using type = Scalar<DataVector>;
72  static std::string name() noexcept { return "TildePhi"; }
73 };
74 
75 } // namespace Tags
76 } // namespace ValenciaDivClean
77 } // namespace grmhd
Defines classes and functions for making classes creatable from input files.
Tags for the DataBox inherit from this type.
Definition: DataBoxTag.hpp:65
The densitized divergence-cleaning field .
Definition: Tags.hpp:70
The densitized energy density .
Definition: Tags.hpp:50
The constraint damping parameter.
Definition: Tags.hpp:18
const char *const OptionString
The string used in option structs.
Definition: Options.hpp:27
The densitized momentum density .
Definition: Tags.hpp:57
The densitized magnetic field .
Definition: Tags.hpp:64
Definition: Strahlkorper.hpp:167
Definition: DataBoxTag.hpp:29
Defines a list of useful type aliases for tensors.
The densitized rest-mass density .
Definition: Tags.hpp:44
Stores a collection of function values.
Definition: DataVector.hpp:46
The characteristic speeds.
Definition: Tags.hpp:32
Defines classes SimpleTag, PrefixTag, ComputeTag and several functions for retrieving tag info...
Items related to general relativistic magnetohydrodynamics (GRMHD)
Definition: Characteristics.hpp:34
Tensor< T, Symmetry<>, index_list<> > Scalar
Scalar type.
Definition: TypeAliases.hpp:21
The constraint damping parameter for divergence cleaning.
Definition: Tags.hpp:38