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/GrMhd/ValenciaDivClean/FiniteDifference/Reconstructor.hpp"
12 #include "Options/Options.hpp"
13 #include "Utilities/TMPL.hpp"
14 
16 /// Option tags for reconstruction
17 namespace OptionTags {
18 /// \brief Option tag for the reconstructor
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
32  using option_tags = tmpl::list<OptionTags::Reconstructor>;
33 
34  static constexpr bool pass_metavariables = false;
35  static type create_from_options(const type& reconstructor) noexcept {
36  return reconstructor->get_clone();
37  }
38 };
39 } // namespace Tags
40 } // namespace NewtonianEuler::fd
evolution::dg::subcell::OptionTags::SubcellSolverGroup
Group holding options for controlling the subcell solver discretization.
Definition: SubcellSolver.hpp:20
grmhd::ValenciaDivClean::fd::OptionTags::Reconstructor
Option tag for the reconstructor.
Definition: Tag.hpp:19
Options.hpp
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
grmhd::ValenciaDivClean::fd
Finite difference functionality for the ValenciaDivClean form of the GRMHD equations.
Definition: FiniteDifference.hpp:9
grmhd::ValenciaDivClean::fd::Tags::Reconstructor
Tag for the reconstructor.
Definition: Tag.hpp:30
cstddef
memory
Options::String
const char *const String
The string used in option structs.
Definition: Options.hpp:32
std::unique_ptr
TMPL.hpp