Tag.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 #include <memory>
8 
9 #include "DataStructures/DataBox/Tag.hpp"
10 #include "Evolution/DgSubcell/Tags/SubcellSolver.hpp"
11 #include "Evolution/Systems/NewtonianEuler/FiniteDifference/Reconstructor.hpp"
12 #include "Options/Options.hpp"
13 
14 namespace NewtonianEuler::fd {
15 /// Option tags for reconstruction
16 namespace OptionTags {
17 /// \brief Option tag for the reconstructor
18 template <size_t Dim>
19 struct Reconstructor {
21 
22  static constexpr Options::String help = {"The reconstruction scheme to use."};
24 };
25 } // namespace OptionTags
26 
27 /// %Tags for reconstruction
28 namespace Tags {
29 /// \brief Tag for the reconstructor
30 template <size_t Dim>
33  using option_tags = tmpl::list<OptionTags::Reconstructor<Dim>>;
34 
35  static constexpr bool pass_metavariables = false;
36  static type create_from_options(const type& reconstructor) noexcept {
37  return reconstructor->get_clone();
38  }
39 };
40 } // namespace Tags
41 } // namespace NewtonianEuler::fd
evolution::dg::subcell::OptionTags::SubcellSolverGroup
Group holding options for controlling the subcell solver discretization.
Definition: SubcellSolver.hpp:20
Options.hpp
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
cstddef
NewtonianEuler::fd
Finite difference functionality for Newtonian Euler.
Definition: AoWeno.hpp:25
memory
Options::String
const char *const String
The string used in option structs.
Definition: Options.hpp:32
NewtonianEuler::fd::OptionTags::Reconstructor
Option tag for the reconstructor.
Definition: Tag.hpp:19
NewtonianEuler::fd::Tags::Reconstructor
Tag for the reconstructor.
Definition: Tag.hpp:31
std::unique_ptr