SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DgSubcell/Tags - Inactive.hpp Hit Total Coverage
Commit: 3c072f0ce967e2e56649d3fa12aa2a0e4fe2a42e Lines: 1 4 25.0 %
Date: 2024-04-23 20:50:18
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 "DataStructures/DataBox/PrefixHelpers.hpp"
       7             : #include "DataStructures/DataBox/Tag.hpp"
       8             : #include "DataStructures/VariablesTag.hpp"
       9             : #include "Evolution/DgSubcell/ActiveGrid.hpp"
      10             : 
      11             : /// \cond
      12             : template <typename TagsList>
      13             : class Variables;
      14             : /// \endcond
      15             : 
      16             : namespace evolution::dg::subcell::Tags {
      17             : /// Mark a tag as holding data for the inactive grid.
      18             : ///
      19             : /// As an example, if the evolution in the element is currently being done on
      20             : /// the DG grid then the subcell evolved variables would be in
      21             : /// `Inactive<evolved_vars>`.
      22             : template <typename Tag>
      23           1 : struct Inactive : db::PrefixTag, db::SimpleTag {
      24           0 :   using tag = Tag;
      25           0 :   using type = typename tag::type;
      26             : };
      27             : 
      28             : /// \cond
      29             : // This tag currently exposes its constituents as subitems. Possible
      30             : // compile-time optimization: Remove this template specialization and use
      31             : // `Inactive<VariablesTag<tmpl::list<Tag1, Tag2>>>` instead of the individual
      32             : // `Inactive<Tag1>`.
      33             : template <typename TagList>
      34             : struct Inactive<::Tags::Variables<TagList>>
      35             :     : ::Tags::Variables<db::wrap_tags_in<Inactive, TagList>> {
      36             :   using tag = ::Tags::Variables<TagList>;
      37             :   using type = Variables<db::wrap_tags_in<Inactive, TagList>>;
      38             : };
      39             : /// \endcond
      40             : }  // namespace evolution::dg::subcell::Tags

Generated by: LCOV version 1.14