SpECTRE Documentation Coverage Report
Current view: top level - Domain/Amr - NeighborsOfChild.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 50.0 % 2 1
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 <array>
       7              : #include <cstddef>
       8              : #include <unordered_map>
       9              : 
      10              : #include "Domain/Amr/Flag.hpp"
      11              : 
      12              : /// \cond
      13              : namespace amr {
      14              : template <size_t VolumeDim>
      15              : struct Info;
      16              : }  // namespace amr
      17              : template <size_t VolumeDim, typename T>
      18              : class DirectionalIdMap;
      19              : template <size_t VolumeDim, typename T>
      20              : class DirectionMap;
      21              : template <size_t VolumeDim>
      22              : class Element;
      23              : template <size_t VolumeDim>
      24              : class ElementId;
      25              : template <size_t VolumeDim>
      26              : class Mesh;
      27              : template <size_t VolumeDim, typename IdType>
      28              : class Neighbors;
      29              : /// \endcond
      30              : 
      31              : namespace amr {
      32              : /*!
      33              :  * \ingroup AmrGroup
      34              :  * \brief Determine the new neighbors of an element during AMR, and the
      35              :  * neighbors' meshes.
      36              :  *
      37              :  * Can be used for both h-refinement and p-refinement.
      38              :  *
      39              :  * \param parent The parent element that is being refined. For h-refinement,
      40              :  * this is the element that is being split into children. For p-refinement,
      41              :  * this is the element that is being increased in resolution.
      42              :  * \param parent_info The AMR info of the parent element.
      43              :  * \param parent_neighbor_info The AMR info of the parent element's neighbors.
      44              :  * \param child_id The ID of the child element that is being created. For
      45              :  * h-refinement, this is the ID of the new child element. For p-refinement,
      46              :  * this is the same as the ID of the parent element.
      47              :  */
      48              : template <size_t VolumeDim>
      49              : std::pair<DirectionMap<VolumeDim, Neighbors<VolumeDim, ElementId<VolumeDim>>>,
      50              :           DirectionalIdMap<VolumeDim, Mesh<VolumeDim>>>
      51            1 : neighbors_of_child(
      52              :     const Element<VolumeDim>& parent, const Info<VolumeDim>& parent_info,
      53              :     const std::unordered_map<ElementId<VolumeDim>, Info<VolumeDim>>&
      54              :         parent_neighbor_info,
      55              :     const ElementId<VolumeDim>& child_id);
      56              : }  // namespace amr
        

Generated by: LCOV version 2.0-1