SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DiscontinuousGalerkin/Limiters - WenoGridHelpers.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 0.0 % 1 0
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              : 
       9              : /// \cond
      10              : class DataVector;
      11              : template <size_t>
      12              : class Direction;
      13              : template <size_t>
      14              : class Element;
      15              : template <size_t>
      16              : class Mesh;
      17              : /// \endcond
      18              : 
      19              : namespace Limiters::Weno_detail {
      20              : 
      21              : // Check that an element has just one neighbor in a particular direction, and
      22              : // that this neighbor has the same refinement level as the element.
      23              : template <size_t VolumeDim>
      24              : bool check_element_has_one_similar_neighbor_in_direction(
      25              :     const Element<VolumeDim>& element, const Direction<VolumeDim>& direction);
      26              : 
      27              : // Compute the coordinate positions of a neighbor element's grid points in the
      28              : // logical coordinates of the local element.
      29              : //
      30              : // However, the results are organized to match the expected input of a
      31              : // RegularGridInterpolator constructor:
      32              : // - The coordinates are given as an array of 1D coordinate values.
      33              : // - For any dimension where the local and neighbor meshes share the same 1D
      34              : //   submesh, the array is empty. (This tells the RegularGridInterpolator that
      35              : //   no interpolation needs to be done in this dimension.)
      36              : //
      37              : // Limitations:
      38              : // - No support for h-refinement. It is ASSERT'ed that the element has only one
      39              : //   neighbor in the specified direction, and that this neighbor is of the same
      40              : //   refinement level as the local element.
      41              : // - Assumes a uniform rectilinear grid. No support for elements of different
      42              : //   sizes (as could occur if all elements have the same refinement level but
      43              : //   different blocks have different physical size), or curvilinear elements.
      44              : //   This is not checked.
      45              : template <size_t VolumeDim>
      46              : std::array<DataVector, VolumeDim> neighbor_grid_points_in_local_logical_coords(
      47              :     const Mesh<VolumeDim>& local_mesh, const Mesh<VolumeDim>& neighbor_mesh,
      48              :     const Element<VolumeDim>& element,
      49              :     const Direction<VolumeDim>& direction_to_neighbor);
      50              : 
      51              : // Compute the coordinate positions of the local element's grid points in the
      52              : // logical coordinates of the a neighbor element.
      53              : //
      54              : // See documentation of `neighbor_grid_points_in_local_logical_coords` for
      55              : // further details and limitations.
      56              : template <size_t VolumeDim>
      57              : std::array<DataVector, VolumeDim> local_grid_points_in_neighbor_logical_coords(
      58              :     const Mesh<VolumeDim>& local_mesh, const Mesh<VolumeDim>& neighbor_mesh,
      59              :     const Element<VolumeDim>& element,
      60              :     const Direction<VolumeDim>& direction_to_neighbor);
      61              : 
      62              : }  // namespace Limiters::Weno_detail
        

Generated by: LCOV version 2.0-1