SpECTRE Documentation Coverage Report
Current view: top level - Elliptic/BoundaryConditions - BoundaryConditionType.hpp Hit Total Coverage
Commit: 37c384043430860f87787999aa7399d01bb3d213 Lines: 1 3 33.3 %
Date: 2024-04-20 02:24:02
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // 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
      19           1 : enum class BoundaryConditionType {
      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           0 : std::ostream& operator<<(std::ostream& os,
      28             :                          BoundaryConditionType boundary_condition_type);
      29             : 
      30             : }  // namespace elliptic
      31             : 
      32             : /// \cond
      33             : template <>
      34             : struct Options::create_from_yaml<elliptic::BoundaryConditionType> {
      35             :   template <typename Metavariables>
      36             :   static elliptic::BoundaryConditionType create(
      37             :       const Options::Option& options) {
      38             :     return create<void>(options);
      39             :   }
      40             : };
      41             : 
      42             : template <>
      43             : elliptic::BoundaryConditionType
      44             : Options::create_from_yaml<elliptic::BoundaryConditionType>::create<void>(
      45             :     const Options::Option& options);
      46             : /// \endcond

Generated by: LCOV version 1.14