Distribution.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <ostream>
7 
8 /// \cond
9 namespace Options {
10 class Option;
11 template <typename T>
12 struct create_from_yaml;
13 } // namespace Options
14 /// \endcond
15 
16 namespace domain::CoordinateMaps {
17 
18 /*!
19  * \brief Distribution of grid points in one dimension
20  *
21  * Used to select a distribution of grid points in the input file.
22  *
23  * \see domain::CoordinateMaps::Wedge
24  */
25 enum class Distribution { Linear, Logarithmic, Inverse };
26 
27 std::ostream& operator<<(std::ostream& os, Distribution distribution) noexcept;
28 
29 } // namespace domain::CoordinateMaps
30 
31 template <>
32 struct Options::create_from_yaml<domain::CoordinateMaps::Distribution> {
33  template <typename Metavariables>
35  const Options::Option& options) {
36  return create<void>(options);
37  }
38 };
39 template <>
42  const Options::Option& options);
domain::CoordinateMaps::Distribution
Distribution
Distribution of grid points in one dimension.
Definition: Distribution.hpp:25
Options::Option
Definition: Options.hpp:108
Options
Utilities for parsing input files.
Definition: MinmodType.hpp:8
std::ostream
Options::create_from_yaml
Definition: MinmodType.hpp:11
domain::CoordinateMaps
Contains all coordinate maps.
Definition: Affine.hpp:23
ostream