System.hpp
Go to the documentation of this file.
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 /// \file
5 /// Defines class ScalarWaveSystem.
6 
7 #pragma once
8 
9 #include <cstddef>
10 
11 #include "DataStructures/Tensor/EagerMath/Magnitude.hpp"
12 #include "Evolution/Systems/ScalarWave/Equations.hpp"
14 #include "Utilities/TMPL.hpp"
15 
16 namespace Tags {
17 template <class>
18 class Variables;
19 } // namespace Tags
20 
21 /*!
22  * \ingroup EvolutionSystemsGroup
23  * \brief Items related to evolving the scalar wave equation:
24  */
25 namespace ScalarWave {
26 
27 template <size_t Dim>
28 struct System {
29  static constexpr bool is_in_flux_conservative_form = false;
30  static constexpr bool has_primitive_and_conservative_vars = false;
31  static constexpr size_t volume_dim = Dim;
32 
34  // Typelist of which subset of the variables to take the gradient of.
35  using gradients_tags = tmpl::list<Pi, Phi<Dim>>;
36 
41 
42  template <typename Tag>
44 };
45 } // namespace ScalarWave
Definition: Variables.hpp:46
The Euclidean magnitude of a (co)vector.
Definition: Magnitude.hpp:67
Compute normal component of flux on a boundary.
Definition: Equations.hpp:86
Defines DataBox tags for scalar wave system.
Items related to evolving the scalar wave equation:
Definition: Equations.cpp:20
Compute the maximum magnitude of the characteristic speeds.
Definition: Equations.hpp:187
Definition: DataBoxTag.hpp:29
Wraps the template metaprogramming library used (brigand)
Definition: Tags.hpp:18
Compute the time derivative of the evolved variables of the first-order scalar wave system...
Definition: Equations.hpp:64
Definition: System.hpp:28