Tags.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <string>
7 
8 #include "DataStructures/DataBox/Tag.hpp"
9 #include "DataStructures/DataVector.hpp" // IWYU pragma: keep
11 
12 namespace ScalarAdvection {
13 /*!
14  * \brief Tags for the ScalarAdvection system
15  */
16 namespace Tags {
17 /// The scalar field to evolve
18 struct U : db::SimpleTag {
19  using type = Scalar<DataVector>;
20 };
21 
22 /// The advection velocity field
23 template <size_t Dim>
25  using type = tnsr::I<DataVector, Dim>;
26 };
27 
28 /// The largest characteristic speed
30  using type = double;
31 };
32 
33 } // namespace Tags
34 } // namespace ScalarAdvection
ScalarAdvection::Tags::VelocityField
The advection velocity field.
Definition: Tags.hpp:24
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
ScalarAdvection::Tags::LargestCharacteristicSpeed
The largest characteristic speed.
Definition: Tags.hpp:29
Scalar
Tensor< T, Symmetry<>, index_list<> > Scalar
Definition: TypeAliases.hpp:21
TypeAliases.hpp
ScalarAdvection::Tags::U
The scalar field to evolve.
Definition: Tags.hpp:18
ScalarAdvection
Items related to evolving the scalar advection equation.
Definition: Characteristics.hpp:11
string