MinmodType.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <ostream>
7 
8 class Option;
9 template <typename T>
11 
12 namespace SlopeLimiters {
13 /// \ingroup SlopeLimitersGroup
14 /// \brief Possible types of the minmod slope limiter and/or troubled-cell
15 /// indicator.
16 ///
17 /// \see SlopeLimiters::Minmod for a description and reference.
18 enum class MinmodType { LambdaPi1, LambdaPiN, Muscl };
19 
20 std::ostream& operator<<(std::ostream& os,
21  const SlopeLimiters::MinmodType& minmod_type);
22 } // namespace SlopeLimiters
23 
24 template <>
26  template <typename Metavariables>
27  static SlopeLimiters::MinmodType create(const Option& options) {
28  return create<void>(options);
29  }
30 };
31 template <>
34  const Option& options);
The type that options are passed around as. Contains YAML node data and an OptionContext.
Definition: Options.hpp:104
Used by the parser to create an object. The default action is to parse options using T::options...
Definition: MinmodType.hpp:10
MinmodType
Possible types of the minmod slope limiter and/or troubled-cell indicator.
Definition: MinmodType.hpp:18
constexpr auto create(Args &&... args)
Create a new DataBox.
Definition: DataBox.hpp:1273
Things relating to slope limiting.
Definition: Krivodonova.hpp:52