SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DiscontinuousGalerkin - CleanMortarHistory.hpp Hit Total Coverage
Commit: 1f2210958b4f38fdc0400907ee7c6d5af5111418 Lines: 1 8 12.5 %
Date: 2025-12-05 05:03:31
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             : }  // namespace evolution::dg
      28             : namespace evolution::dg::Tags {
      29             : template <size_t Dim, typename CouplingResult>
      30             : struct MortarDataHistory;
      31             : }  // namespace evolution::dg::Tags
      32             : namespace gsl {
      33             : template <class T>
      34             : class not_null;
      35             : }  // namespace gsl
      36             : /// \endcond
      37             : 
      38             : namespace evolution::dg {
      39             : /// Mutator to remove old entries from the mortar histories in a
      40             : /// local-time-stepping DG evolution.
      41             : template <typename System>
      42           1 : struct CleanMortarHistory {
      43           0 :   static constexpr size_t dim = System::volume_dim;
      44           0 :   using dt_variables_tag =
      45             :       db::add_tag_prefix<::Tags::dt, typename System::variables_tag>;
      46           0 :   using CouplingResult = typename dt_variables_tag::type;
      47             : 
      48           0 :   using return_tags =
      49             :       tmpl::list<evolution::dg::Tags::MortarDataHistory<dim, CouplingResult>>;
      50           0 :   using argument_tags = tmpl::list<::Tags::TimeStepper<LtsTimeStepper>>;
      51             : 
      52           0 :   static void apply(
      53             :       gsl::not_null<DirectionalIdMap<
      54             :           dim, TimeSteppers::BoundaryHistory<::evolution::dg::MortarData<dim>,
      55             :                                              ::evolution::dg::MortarData<dim>,
      56             :                                              CouplingResult>>*>
      57             :           history,
      58             :       const LtsTimeStepper& time_stepper);
      59             : };
      60             : }  // namespace evolution::dg

Generated by: LCOV version 1.14