SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DiscontinuousGalerkin - CleanMortarHistory.hpp Hit Total Coverage
Commit: 1e29a35ad8559408f21493dc5db8a49a237bb2f0 Lines: 1 5 20.0 %
Date: 2026-03-31 22:27:51
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             : 
       8             : #include "DataStructures/DataBox/PrefixHelpers.hpp"
       9             : #include "DataStructures/DataBox/Prefixes.hpp"
      10             : #include "Utilities/TMPL.hpp"
      11             : 
      12             : /// \cond
      13             : class DataVector;
      14             : template <size_t Dim, typename T>
      15             : class DirectionalIdMap;
      16             : class LtsTimeStepper;
      17             : namespace Tags {
      18             : template <typename StepperInterface>
      19             : struct TimeStepper;
      20             : }  // namespace Tags
      21             : namespace TimeSteppers {
      22             : template <typename LocalData, typename RemoteData,
      23             :           typename UntypedCouplingResult>
      24             : class BoundaryHistory;
      25             : }  // namespace TimeSteppers
      26             : namespace evolution::dg {
      27             : template <size_t Dim>
      28             : struct MortarData;
      29             : template <size_t Dim>
      30             : class MortarInfo;
      31             : }  // namespace evolution::dg
      32             : namespace evolution::dg::Tags {
      33             : template <size_t Dim>
      34             : struct MortarDataHistory;
      35             : template <size_t Dim>
      36             : struct MortarInfo;
      37             : }  // namespace evolution::dg::Tags
      38             : namespace gsl {
      39             : template <class T>
      40             : class not_null;
      41             : }  // namespace gsl
      42             : /// \endcond
      43             : 
      44             : namespace evolution::dg {
      45             : /// Mutator to remove old entries from the mortar histories in a
      46             : /// local-time-stepping DG evolution.
      47             : template <size_t Dim>
      48           1 : struct CleanMortarHistory {
      49           0 :   using return_tags = tmpl::list<evolution::dg::Tags::MortarDataHistory<Dim>>;
      50           0 :   using argument_tags =
      51             :       tmpl::list<::Tags::TimeStepper<LtsTimeStepper>, Tags::MortarInfo<Dim>>;
      52             : 
      53           0 :   static void apply(
      54             :       gsl::not_null<DirectionalIdMap<
      55             :           Dim, TimeSteppers::BoundaryHistory<::evolution::dg::MortarData<Dim>,
      56             :                                              ::evolution::dg::MortarData<Dim>,
      57             :                                              DataVector>>*>
      58             :           history,
      59             :       const LtsTimeStepper& time_stepper,
      60             :       const DirectionalIdMap<Dim, MortarInfo<Dim>>& mortar_info);
      61             : };
      62             : }  // namespace evolution::dg

Generated by: LCOV version 1.14