SpECTRE Documentation Coverage Report
Current view: top level - Domain/Amr - NeighborsOfChild.hpp Hit Total Coverage
Commit: fbcce2ed065a8e48da2f38009a84bbfbc0c260ee Lines: 1 2 50.0 %
Date: 2025-11-14 20:55:50
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 1.14