SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/ScalarAdvection/Subcell - TciOnDgGrid.hpp Hit Total Coverage
Commit: 817e13c5144619b701c7cd870655d8dbf94ab8ce Lines: 1 5 20.0 %
Date: 2024-07-19 22:17:05
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             : #include <tuple>
       8             : 
       9             : #include "DataStructures/Tensor/TypeAliases.hpp"
      10             : #include "Domain/Tags.hpp"
      11             : #include "Evolution/DgSubcell/RdmpTciData.hpp"
      12             : #include "Evolution/DgSubcell/Tags/DataForRdmpTci.hpp"
      13             : #include "Evolution/DgSubcell/Tags/Mesh.hpp"
      14             : #include "Evolution/DgSubcell/Tags/SubcellOptions.hpp"
      15             : #include "Evolution/Systems/ScalarAdvection/Subcell/TciOptions.hpp"
      16             : #include "Evolution/Systems/ScalarAdvection/Tags.hpp"
      17             : #include "Utilities/TMPL.hpp"
      18             : 
      19             : /// \cond
      20             : class DataVector;
      21             : template <size_t Dim>
      22             : class Mesh;
      23             : /// \endcond
      24             : 
      25             : namespace ScalarAdvection::subcell {
      26             : /*!
      27             :  * \brief The troubled-cell indicator run on the DG grid to check if the
      28             :  * solution is admissible.
      29             :  *
      30             :  * Applies 1) the RDMP TCI to \f$U\f$ and 2) the Persson TCI to \f$U\f$ if the
      31             :  * \f$\max(|U|)\f$ on the DG grid is greater than `tci_options.u_cutoff`.
      32             :  */
      33             : template <size_t Dim>
      34           1 : struct TciOnDgGrid {
      35             :  public:
      36           0 :   using return_tags = tmpl::list<>;
      37           0 :   using argument_tags =
      38             :       tmpl::list<ScalarAdvection::Tags::U, ::domain::Tags::Mesh<Dim>,
      39             :                  evolution::dg::subcell::Tags::Mesh<Dim>,
      40             :                  evolution::dg::subcell::Tags::DataForRdmpTci,
      41             :                  evolution::dg::subcell::Tags::SubcellOptions<Dim>,
      42             :                  Tags::TciOptions>;
      43             : 
      44           0 :   static std::tuple<bool, evolution::dg::subcell::RdmpTciData> apply(
      45             :       const Scalar<DataVector>& dg_u, const Mesh<Dim>& dg_mesh,
      46             :       const Mesh<Dim>& subcell_mesh,
      47             :       const evolution::dg::subcell::RdmpTciData& past_rdmp_tci_data,
      48             :       const evolution::dg::subcell::SubcellOptions& subcell_options,
      49             :       const TciOptions& tci_options, double persson_exponent,
      50             :       bool element_stays_on_dg);
      51             : };
      52             : }  // namespace ScalarAdvection::subcell

Generated by: LCOV version 1.14