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