SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DgSubcell/Tags - TciStatus.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 33.3 % 12 4
Test Date: 2026-10-22 17:29:42
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 "DataStructures/Tensor/TypeAliases.hpp"
      10              : #include "Domain/Structure/Direction.hpp"
      11              : #include "Domain/Structure/DirectionalId.hpp"
      12              : #include "Domain/Structure/DirectionalIdMap.hpp"
      13              : #include "Domain/Structure/ElementId.hpp"
      14              : #include "Domain/Tags.hpp"
      15              : #include "Evolution/DgSubcell/ActiveGrid.hpp"
      16              : #include "Evolution/DgSubcell/Tags/ActiveGrid.hpp"
      17              : #include "Evolution/DgSubcell/Tags/Mesh.hpp"
      18              : #include "Utilities/Gsl.hpp"
      19              : 
      20              : /// \cond
      21              : class DataVector;
      22              : template <size_t Dim>
      23              : class Mesh;
      24              : /// \endcond
      25              : 
      26              : namespace evolution::dg::subcell::Tags {
      27              : /// Stores the status of the troubled cell indicator in the element as an `int`.
      28              : ///
      29              : /// A non-zero value indicates the TCI decided the element is troubled.
      30            1 : struct TciDecision : db::SimpleTag {
      31            0 :   using type = int;
      32              : };
      33              : 
      34              : /// The TCI decision of neighboring elements.
      35              : template <size_t Dim>
      36            1 : struct NeighborTciDecisions : db::SimpleTag {
      37            0 :   using type = DirectionalIdMap<Dim, int>;
      38              : };
      39              : 
      40              : /// Stores the status of the troubled cell indicator in the element
      41              : /// (TciDecision) as a `Scalar<DataVector>` so it can be observed.
      42            1 : struct TciStatus : db::SimpleTag {
      43            0 :   using type = Scalar<DataVector>;
      44              : };
      45              : 
      46              : /// Compute tag to get a `TciStatus` from a `TciDecision`.
      47              : template <size_t Dim>
      48            1 : struct TciStatusCompute : db::ComputeTag, TciStatus {
      49            0 :   using base = TciStatus;
      50            0 :   using return_type = typename base::type;
      51            0 :   using argument_tags = tmpl::list<Tags::TciDecision, Tags::ActiveGrid,
      52              :                                    Tags::Mesh<Dim>, ::domain::Tags::Mesh<Dim>>;
      53            0 :   static void function(gsl::not_null<return_type*> result, int tci_decision,
      54              :                        subcell::ActiveGrid active_grid,
      55              :                        const ::Mesh<Dim>& subcell_mesh,
      56              :                        const ::Mesh<Dim>& dg_mesh);
      57              : };
      58              : }  // namespace evolution::dg::subcell::Tags
        

Generated by: LCOV version 2.0-1