Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <iosfwd>
7 :
8 : #include "Options/Options.hpp"
9 :
10 : namespace evolution::dg::subcell::fd {
11 : /*!
12 : * \brief The reconstruction method to use
13 : */
14 1 : enum class ReconstructionMethod {
15 : /// Dimension-by-dimension reconstruction assuming a tensor-product basis
16 : DimByDim,
17 : /// Reconstruct all dimensions at once.
18 : AllDimsAtOnce
19 : };
20 :
21 0 : std::ostream& operator<<(std::ostream& os, ReconstructionMethod recons_method);
22 : } // namespace evolution::dg::subcell::fd
23 :
24 : /// \cond
25 : template <>
26 : struct Options::create_from_yaml<
27 : evolution::dg::subcell::fd::ReconstructionMethod> {
28 : using type = evolution::dg::subcell::fd::ReconstructionMethod;
29 : template <typename Metavariables>
30 : static type create(const Options::Option& options) {
31 : return create<void>(options);
32 : }
33 : };
34 :
35 : template <>
36 : evolution::dg::subcell::fd::ReconstructionMethod
37 : Options::create_from_yaml<evolution::dg::subcell::fd::ReconstructionMethod>::
38 : create<void>(const Options::Option& options);
39 : /// \endcond
|