SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DiscontinuousGalerkin - BoundaryData.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 6.7 % 15 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 <cstddef>
       7              : #include <iosfwd>
       8              : #include <optional>
       9              : 
      10              : #include "DataStructures/DataVector.hpp"
      11              : #include "Evolution/DiscontinuousGalerkin/InterpolatedBoundaryData.hpp"
      12              : #include "NumericalAlgorithms/Spectral/Mesh.hpp"
      13              : #include "Time/TimeStepId.hpp"
      14              : 
      15              : namespace evolution::dg {
      16              : /*!
      17              :  * \brief The data communicated between neighber elements.
      18              :  *
      19              :  * The stored data consists of the following:
      20              :  *
      21              :  * 1. the volume mesh of the element.
      22              :  * 2. the volume mesh corresponding to the ghost cell data. This allows eliding
      23              :  *    projection when all neighboring elements are doing DG.
      24              :  * 3. the mortar mesh of the data on the mortar
      25              :  * 4. the variables at the ghost zone cells for finite difference/volume
      26              :  *    reconstruction
      27              :  * 5. the data on the mortar needed for computing the boundary corrections (e.g.
      28              :  *    fluxes, characteristic speeds, conserved variables)
      29              :  * 6. the TimeStepId beyond which the boundary terms are no longer valid, when
      30              :  *    using local time stepping.
      31              :  * 7. the troubled cell indicator status used for determining halos around
      32              :  *    troubled cells.
      33              :  * 8. the integration order of the time-stepper
      34              :  * 9. the InterpolatedBoundaryData sent by a non-conforming Element that
      35              :  *    interpolates its data to a subset of the points of the Element receiving
      36              :  *    this BoundaryData
      37              :  */
      38              : template <size_t Dim>
      39            1 : struct BoundaryData {
      40              :   // NOLINTNEXTLINE(google-runtime-references)
      41            0 :   void pup(PUP::er& p);
      42              : 
      43            0 :   Mesh<Dim> volume_mesh{};
      44            0 :   std::optional<Mesh<Dim>> volume_mesh_ghost_cell_data{};
      45            0 :   std::optional<Mesh<Dim - 1>> boundary_correction_mesh{};
      46            0 :   std::optional<DataVector> ghost_cell_data{};
      47            0 :   std::optional<DataVector> boundary_correction_data{};
      48            0 :   ::TimeStepId validity_range{};
      49            0 :   int tci_status{};
      50            0 :   size_t integration_order{std::numeric_limits<size_t>::max()};
      51            0 :   std::optional<InterpolatedBoundaryData<Dim>> interpolated_boundary_data{};
      52              : };
      53              : 
      54              : template <size_t Dim>
      55            0 : bool operator==(const BoundaryData<Dim>& lhs, const BoundaryData<Dim>& rhs);
      56              : template <size_t Dim>
      57            0 : bool operator!=(const BoundaryData<Dim>& lhs, const BoundaryData<Dim>& rhs);
      58              : template <size_t Dim>
      59            0 : std::ostream& operator<<(std::ostream& os, const BoundaryData<Dim>& value);
      60              : }  // namespace evolution::dg
        

Generated by: LCOV version 2.0-1