SpECTRE Documentation Coverage Report
Current view: top level - Domain/Structure - FaceType.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 66.7 % 3 2
Test Date: 2026-10-22 17:29:42
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 <cstdint>
       7              : #include <iosfwd>
       8              : 
       9              : namespace domain {
      10              : 
      11              : /// \brief  The type of face for a Block or Element
      12              : ///
      13              : /// \details For a face with neighboring Blocks (or Elements) the FaceType is
      14              : /// determined by whether the block logical coordinates of the  neighboring
      15              : /// Blocks (or Elements) have conforming block logical coordinates on their
      16              : /// interface. Block logical coordinates are considered to be conforming if
      17              : /// they are identical (i.e. an aligned OrientationMap) or related by a
      18              : /// discrete rotation (i.e. a valid non-aligned OrientationMap).
      19              : ///
      20              : /// \note FaceType::Topological is for the faces of an Element or Block with a
      21              : /// Topology other than I1 (e.g. the angular directions of an S2 topology). The
      22              : /// face is not on the external boundary, and has no neighboring Block or
      23              : /// Element.
      24            1 : enum class FaceType : uint8_t {
      25              :   /// Used to denote an uninitialized value
      26              :   Uninitialized = 0,
      27              :   /// Used to denote a face on an external boundary
      28              :   External,
      29              :   /// Used to denote a face that is not on the external boundary, and that has
      30              :   /// no neighboring Block or Element (e.g. the angular directions of an S2
      31              :   /// topology).
      32              :   Topological,
      33              :   /// Used to denote a face shared with one or more conforming, aligned
      34              :   /// neighbors
      35              :   ConformingAligned,
      36              :   /// Used to denote a face shared with one or more conforming, unaligned
      37              :   /// neighbors
      38              :   ConformingUnaligned,
      39              :   /// Used to denote a face shared with a single non-conforming neighbor
      40              :   SingleNonconforming,
      41              :   /// Used to denote a face shared with multiple non-conforming neighbors
      42              :   MultipleNonconforming,
      43              : };
      44              : 
      45              : /// Output operator for a FaceType.
      46            1 : std::ostream& operator<<(std::ostream& os, FaceType face_type);
      47              : }  // namespace domain
        

Generated by: LCOV version 2.0-1