Line data Source code
1 0 : // 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 "Evolution/DgSubcell/SubcellOptions.hpp"
10 : #include "NumericalAlgorithms/DiscontinuousGalerkin/Tags/OptionsGroup.hpp"
11 : #include "Options/String.hpp"
12 : #include "Utilities/TMPL.hpp"
13 :
14 : namespace evolution::dg::subcell {
15 : namespace OptionTags {
16 : /// System-agnostic options for DG-subcell
17 1 : struct SubcellOptions {
18 0 : static std::string name() { return "Subcell"; }
19 0 : using type = evolution::dg::subcell::SubcellOptions;
20 0 : static constexpr Options::String help =
21 : "System-agnostic options for DG-subcell";
22 0 : using group = ::dg::OptionTags::DiscontinuousGalerkinGroup;
23 : };
24 : } // namespace OptionTags
25 :
26 : namespace Tags {
27 : /// System-agnostic options for DG-subcell
28 : template <size_t Dim>
29 1 : struct SubcellOptions : db::SimpleTag {
30 0 : using type = evolution::dg::subcell::SubcellOptions;
31 :
32 0 : using option_tags = tmpl::list<OptionTags::SubcellOptions>;
33 0 : static constexpr bool pass_metavariables = false;
34 0 : static type create_from_options(const type& subcell_options) {
35 : return subcell_options;
36 : }
37 : };
38 : } // namespace Tags
39 : } // namespace evolution::dg::subcell
|