SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DiscontinuousGalerkin/EqualRateLts/Tags - EqualRateRegions.hpp Hit Total Coverage
Commit: e168c1aa7e6b7eeddf3f9be0a985c755ae24c13d Lines: 3 12 25.0 %
Date: 2026-09-15 09:43:04
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/Tag.hpp"
       9             : #include "Evolution/DiscontinuousGalerkin/EqualRateLts/EqualRateRegions.hpp"
      10             : #include "Utilities/TMPL.hpp"
      11             : 
      12             : namespace evolution::dg::Tags {
      13             : /// Regions that cannot perform local time-stepping.
      14             : ///
      15             : /// Accessible as a base class through the `EqualRateRegions` tag
      16             : /// without the second template parameter.
      17             : template <size_t Dim, typename RegionGenerators>
      18           1 : struct ConcreteEqualRateRegions : db::SimpleTag {
      19           0 :   using type = evolution::dg::EqualRateRegions<Dim, RegionGenerators>;
      20           0 :   using option_tags = typename type::creation_tags;
      21             : 
      22           0 :   static constexpr bool pass_metavariables = false;
      23             :   template <typename... Args>
      24           0 :   static type create_from_options(const Args&... options) {
      25             :     return type{options...};
      26             :   }
      27             : };
      28             : 
      29             : /// Regions that cannot perform local time-stepping.
      30             : template <size_t Dim>
      31           1 : struct EqualRateRegions : db::SimpleTag {
      32           0 :   using type = evolution::dg::EqualRateRegionsBase<Dim>;
      33             : };
      34             : 
      35             : /// Reference tag converting ConcreteEqualRateRegions to the base class.
      36             : template <size_t Dim, typename RegionGenerators>
      37           1 : struct EqualRateRegionsRef : EqualRateRegions<Dim>, db::ReferenceTag {
      38           0 :   using base = EqualRateRegions<Dim>;
      39           0 :   using argument_tags =
      40             :       tmpl::list<ConcreteEqualRateRegions<Dim, RegionGenerators>>;
      41           0 :   static const EqualRateRegionsBase<Dim>& get(
      42             :       const EqualRateRegionsBase<Dim>& regions) {
      43             :     return regions;
      44             :   }
      45             : };
      46             : }  // namespace evolution::dg::Tags

Generated by: LCOV version 1.14