BoundaryConditionType.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 elliptic {
17 
18 /// Identify types of boundary conditions for elliptic equations
20  /// Dirichlet boundary conditions like \f$u(x_0)=u_0\f$
21  Dirichlet,
22  /// Neumann boundary conditions like \f$n^i\partial_i u(x_0)=v_0\f$, where
23  /// \f$\boldsymbol{n}\f$ is the normal to the domain boundary
24  Neumann
25 };
26 
27 std::ostream& operator<<(
28  std::ostream& os, BoundaryConditionType boundary_condition_type) noexcept;
29 
30 } // namespace elliptic
31 
32 /// \cond
33 template <>
35  template <typename Metavariables>
36  static elliptic::BoundaryConditionType create(
37  const Options::Option& options) {
38  return create<void>(options);
39  }
40 };
41 
42 template <>
45  const Options::Option& options);
46 /// \endcond
elliptic::BoundaryConditionType
BoundaryConditionType
Identify types of boundary conditions for elliptic equations.
Definition: BoundaryConditionType.hpp:19
elliptic::BoundaryConditionType::Dirichlet
@ Dirichlet
Dirichlet boundary conditions like .
elliptic::BoundaryConditionType::Neumann
@ Neumann
Neumann boundary conditions like , where is the normal to the domain boundary.
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
elliptic
Functionality related to solving elliptic partial differential equations.
Definition: InitializeAnalyticSolution.hpp:29
ostream