System.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include "DataStructures/Tensor/EagerMath/Magnitude.hpp"
7 #include "Evolution/Systems/GeneralizedHarmonic/Characteristics.hpp"
9 #include "Utilities/TMPL.hpp"
10 
11 /// \cond
12 class DataVector;
13 
14 namespace Tags {
15 template <class>
16 class Variables;
17 } // namespace Tags
18 /// \endcond
19 
20 /*!
21  * \ingroup EvolutionSystemsGroup
22  * \brief Items related to evolving the first-order generalized harmonic system.
23  */
24 namespace GeneralizedHarmonic {
25 template <size_t Dim>
26 struct System {
27  static constexpr bool is_in_flux_conservative_form = false;
28  static constexpr bool has_primitive_and_conservative_vars = false;
29  static constexpr size_t volume_dim = Dim;
30  static constexpr bool is_euclidean = false;
31 
32  using variables_tag = ::Tags::Variables<tmpl::list<
35  using gradients_tags =
36  tmpl::list<gr::Tags::SpacetimeMetric<Dim, Frame::Inertial, DataVector>,
37  Tags::Pi<Dim, Frame::Inertial>,
38  Tags::Phi<Dim, Frame::Inertial>>;
39 
45 
46  template <typename Tag>
49 };
50 } // namespace GeneralizedHarmonic
Auxiliary variable which is analytically the spatial derivative of the spacetime metric.
Definition: Tags.hpp:41
Definition: Characteristics.hpp:76
Conjugate momentum to the spacetime metric.
Definition: Tags.hpp:29
Definition: Variables.hpp:46
Definition: Tags.hpp:17
Compute the RHS of the Generalized Harmonic formulation of Einstein&#39;s equations.
Definition: Equations.hpp:56
Inverse of the spatial metric.
Definition: Tags.hpp:36
Items related to evolving the first-order generalized harmonic system.
Definition: Characteristics.cpp:20
Definition: DataBoxTag.hpp:29
Definition: System.hpp:26
Stores a collection of function values.
Definition: DataVector.hpp:42
Wraps the template metaprogramming library used (brigand)
Computes the largest magnitude of the characteristic speeds.
Definition: Characteristics.hpp:245
Compute the fluxes of the Generalized Harmonic formulation of Einstein&#39;s equations.
Definition: Equations.hpp:124
Defines class template GeneralizedHarmonicEquations.
The magnitude of a (co)vector with respect to a specific metric.
Definition: Magnitude.hpp:90