Line data Source code
1 0 : // 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"
8 : #include "NumericalAlgorithms/Spectral/Quadrature.hpp"
9 : #include "Options/String.hpp"
10 : #include "Utilities/TMPL.hpp"
11 :
12 : namespace evolution::dg {
13 0 : namespace OptionTags {
14 : /// The quadrature points to use.
15 1 : struct Quadrature {
16 0 : using type = Spectral::Quadrature;
17 0 : using group = ::dg::OptionTags::DiscontinuousGalerkinGroup;
18 0 : 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.
29 1 : struct Quadrature : db::SimpleTag {
30 0 : using type = Spectral::Quadrature;
31 :
32 0 : using option_tags = tmpl::list<OptionTags::Quadrature>;
33 0 : static constexpr bool pass_metavariables = false;
34 0 : static type create_from_options(const type& quadrature) { return quadrature; }
35 : };
36 : } // namespace Tags
37 : } // namespace evolution::dg
|