SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DiscontinuousGalerkin - CleanMortarHistory.hpp Hit Total Coverage
Commit: 3ffcbc8ecf43797401b60bcca17d6040ee06f013 Lines: 1 8 12.5 %
Date: 2026-03-03 02:01:44
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             : template <size_t Dim, typename T>
      14             : class DirectionalIdMap;
      15             : class LtsTimeStepper;
      16             : namespace Tags {
      17             : template <typename StepperInterface>
      18             : struct TimeStepper;
      19             : }  // namespace Tags
      20             : namespace TimeSteppers {
      21             : template <typename LocalData, typename RemoteData, typename CouplingResult>
      22             : class BoundaryHistory;
      23             : }  // namespace TimeSteppers
      24             : namespace evolution::dg {
      25             : template <size_t Dim>
      26             : struct MortarData;
      27             : template <size_t Dim>
      28             : class MortarInfo;
      29             : }  // namespace evolution::dg
      30             : namespace evolution::dg::Tags {
      31             : template <size_t Dim, typename CouplingResult>
      32             : struct MortarDataHistory;
      33             : template <size_t Dim>
      34             : struct MortarInfo;
      35             : }  // namespace evolution::dg::Tags
      36             : namespace gsl {
      37             : template <class T>
      38             : class not_null;
      39             : }  // namespace gsl
      40             : /// \endcond
      41             : 
      42             : namespace evolution::dg {
      43             : /// Mutator to remove old entries from the mortar histories in a
      44             : /// local-time-stepping DG evolution.
      45             : template <typename System>
      46           1 : struct CleanMortarHistory {
      47           0 :   static constexpr size_t dim = System::volume_dim;
      48           0 :   using dt_variables_tag =
      49             :       db::add_tag_prefix<::Tags::dt, typename System::variables_tag>;
      50           0 :   using CouplingResult = typename dt_variables_tag::type;
      51             : 
      52           0 :   using return_tags =
      53             :       tmpl::list<evolution::dg::Tags::MortarDataHistory<dim, CouplingResult>>;
      54           0 :   using argument_tags =
      55             :       tmpl::list<::Tags::TimeStepper<LtsTimeStepper>, Tags::MortarInfo<dim>>;
      56             : 
      57           0 :   static void apply(
      58             :       gsl::not_null<DirectionalIdMap<
      59             :           dim, TimeSteppers::BoundaryHistory<::evolution::dg::MortarData<dim>,
      60             :                                              ::evolution::dg::MortarData<dim>,
      61             :                                              CouplingResult>>*>
      62             :           history,
      63             :       const LtsTimeStepper& time_stepper,
      64             :       const DirectionalIdMap<dim, MortarInfo<dim>>& mortar_info);
      65             : };
      66             : }  // namespace evolution::dg

Generated by: LCOV version 1.14