SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/ScalarAdvection/Subcell - TciOptions.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 4.8 % 21 1
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 <limits>
       7              : 
       8              : #include "DataStructures/DataBox/Tag.hpp"
       9              : #include "NumericalAlgorithms/DiscontinuousGalerkin/Tags/OptionsGroup.hpp"
      10              : #include "Options/String.hpp"
      11              : #include "Utilities/TMPL.hpp"
      12              : 
      13              : /// \cond
      14              : namespace PUP {
      15              : class er;
      16              : }  // namespace PUP
      17              : /// \endcond
      18              : 
      19              : namespace ScalarAdvection::subcell {
      20            0 : struct TciOptions {
      21              :   /*!
      22              :    * \brief The cutoff of the absolute value of the scalar field \f$U\f$ in an
      23              :    * element to use the Persson TCI. Below this value the Persson TCI is not
      24              :    * applied.
      25              :    */
      26            1 :   struct UCutoff {
      27            0 :     using type = double;
      28            0 :     static type lower_bound() { return 0.0; }
      29            0 :     static constexpr Options::String help = {
      30              :         "The cutoff of the absolute value of the scalar field U in an "
      31              :         "element to use Persson TCI."};
      32              :   };
      33              : 
      34            0 :   using options = tmpl::list<UCutoff>;
      35            0 :   static constexpr Options::String help = {
      36              :       "Options for the troubled-cell indicator"};
      37              : 
      38              :   // NOLINTNEXTLINE(google-runtime-references)
      39            0 :   void pup(PUP::er& /*p*/);
      40              : 
      41            0 :   double u_cutoff{std::numeric_limits<double>::signaling_NaN()};
      42              : };
      43              : 
      44            0 : namespace OptionTags {
      45            0 : struct TciOptions {
      46            0 :   using type = subcell::TciOptions;
      47            0 :   static constexpr Options::String help =
      48              :       "ScalarAdvection-specific options for the TCI";
      49            0 :   using group = ::dg::OptionTags::DiscontinuousGalerkinGroup;
      50              : };
      51              : }  // namespace OptionTags
      52              : 
      53            0 : namespace Tags {
      54            0 : struct TciOptions : db::SimpleTag {
      55            0 :   using type = subcell::TciOptions;
      56            0 :   using option_tags = tmpl::list<typename OptionTags::TciOptions>;
      57              : 
      58            0 :   static constexpr bool pass_metavariables = false;
      59            0 :   static type create_from_options(const type& tci_options) {
      60              :     return tci_options;
      61              :   }
      62              : };
      63              : }  // namespace Tags
      64              : }  // namespace ScalarAdvection::subcell
        

Generated by: LCOV version 2.0-1