System.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 
8 #include "DataStructures/Tensor/EagerMath/Magnitude.hpp"
10 #include "Evolution/Conservative/ConservativeDuDt.hpp"
11 #include "Evolution/Systems/Burgers/Equations.hpp"
12 #include "Evolution/Systems/Burgers/Fluxes.hpp"
13 #include "Evolution/Systems/Burgers/Tags.hpp" // IWYU pragma: keep
14 #include "Utilities/TMPL.hpp"
15 
16 /// \ingroup EvolutionSystemsGroup
17 /// \brief Items related to evolving the %Burgers equation
18 /// \f$0 = \partial_t U + \partial_x\left(U^2/2\right)\f$.
19 ///
20 /// \note For this definition (i.e., with the factor of one half in the flux)
21 /// of the Burgers system, the local characteristic speed is \f$U\f$.
22 namespace Burgers {
23 struct System {
24  static constexpr bool is_in_flux_conservative_form = true;
25  static constexpr bool has_primitive_and_conservative_vars = false;
26  static constexpr size_t volume_dim = 1;
27 
29  using sourced_variables = tmpl::list<>;
30 
32  using volume_fluxes = Fluxes;
35 
36  template <typename Tag>
38 };
39 } // namespace Burgers
Definition: Equations.hpp:57
Definition: Variables.hpp:46
Definition: System.hpp:23
The Euclidean magnitude of a (co)vector.
Definition: Magnitude.hpp:67
Calculate for a conservative system.
Definition: ConservativeDuDt.hpp:26
The flux of is .
Definition: Fluxes.hpp:25
Defines class Variables.
Wraps the template metaprogramming library used (brigand)
Items related to evolving the Burgers equation .
Definition: Equations.cpp:20