QuadratureTag.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include "DataStructures/DataBox/Tag.hpp"
7 #include "NumericalAlgorithms/DiscontinuousGalerkin/Tags/OptionsGroup.hpp"
9 #include "Options/Options.hpp"
10 #include "Utilities/TMPL.hpp"
11 
12 namespace evolution::dg {
13 namespace OptionTags {
14 /// The quadrature points to use.
15 struct Quadrature {
16  using type = Spectral::Quadrature;
18  static constexpr Options::String help =
19  "The point distribution/quadrature rule used.";
20 };
21 } // namespace OptionTags
22 
23 namespace Tags {
24 /// The quadrature points to use initially.
25 ///
26 /// While they could be changed during the evolution, it is unclear there is any
27 /// reason to do so or that changing them during an evolution would even be
28 /// stable.
30  using type = Spectral::Quadrature;
31 
32  using option_tags = tmpl::list<OptionTags::Quadrature>;
33  static constexpr bool pass_metavariables = false;
34  static type create_from_options(const type& quadrature) noexcept {
35  return quadrature;
36  }
37 };
38 } // namespace Tags
39 } // namespace evolution::dg
evolution::dg::Tags::Quadrature
The quadrature points to use initially.
Definition: QuadratureTag.hpp:29
Options.hpp
evolution::dg
Functionality for evolving hyperbolic partial differential equations using the discontinuous Galerkin...
Definition: ConservativeDuDt.hpp:22
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
Spectral.hpp
Spectral::Quadrature
Quadrature
The choice of quadrature method to compute integration weights.
Definition: Spectral.hpp:90
Options::String
const char *const String
The string used in option structs.
Definition: Options.hpp:32
dg::OptionTags::DiscontinuousGalerkinGroup
Group holding options for controlling the DG discretization.
Definition: OptionsGroup.hpp:19
evolution::dg::OptionTags::Quadrature
The quadrature points to use.
Definition: QuadratureTag.hpp:15
TMPL.hpp