SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/GrMhd/ValenciaDivClean/Subcell - InitialDataTci.hpp Hit Total Coverage
Commit: b5ffa4904430ccef0b226f73dcd25c74cb5188f6 Lines: 1 5 20.0 %
Date: 2021-07-28 22:05: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 <cstddef>
       7             : 
       8             : #include "DataStructures/Tensor/TypeAliases.hpp"
       9             : #include "Domain/Tags.hpp"
      10             : #include "Evolution/DgSubcell/Tags/Inactive.hpp"
      11             : #include "Evolution/Systems/GrMhd/ValenciaDivClean/Tags.hpp"
      12             : #include "PointwiseFunctions/Hydro/TagsDeclarations.hpp"
      13             : #include "Utilities/TMPL.hpp"
      14             : 
      15             : /// \cond
      16             : class DataVector;
      17             : template <size_t Dim>
      18             : class Mesh;
      19             : template <typename TagsList>
      20             : class Variables;
      21             : /// \endcond
      22             : 
      23             : namespace grmhd::ValenciaDivClean::subcell {
      24             : /*!
      25             :  * \brief The troubled-cell indicator run on DG initial data to see if we need
      26             :  * to switch to subcell.
      27             :  *
      28             :  * Uses the two-mesh relaxed discrete maximum principle as well as the Persson
      29             :  * TCI applied to \f$\tilde{D}\f$ and \f$\tilde{\tau}\f$.
      30             :  */
      31           1 : struct DgInitialDataTci {
      32             :  private:
      33             :   template <typename Tag>
      34           0 :   using Inactive = evolution::dg::subcell::Tags::Inactive<Tag>;
      35             : 
      36             :  public:
      37           0 :   using argument_tags = tmpl::list<domain::Tags::Mesh<3>>;
      38             : 
      39           0 :   static bool apply(
      40             :       const Variables<tmpl::list<
      41             :           ValenciaDivClean::Tags::TildeD, ValenciaDivClean::Tags::TildeTau,
      42             :           ValenciaDivClean::Tags::TildeS<>, Tags::TildeB<>,
      43             :           ValenciaDivClean::Tags::TildePhi>>& dg_vars,
      44             :       const Variables<tmpl::list<Inactive<ValenciaDivClean::Tags::TildeD>,
      45             :                                  Inactive<ValenciaDivClean::Tags::TildeTau>,
      46             :                                  Inactive<ValenciaDivClean::Tags::TildeS<>>,
      47             :                                  Inactive<ValenciaDivClean::Tags::TildeB<>>,
      48             :                                  Inactive<ValenciaDivClean::Tags::TildePhi>>>&
      49             :           subcell_vars,
      50             :       double rdmp_delta0, double rdmp_epsilon, double persson_exponent,
      51             :       const Mesh<3>& dg_mesh) noexcept;
      52             : };
      53             : }  // namespace grmhd::ValenciaDivClean::subcell

Generated by: LCOV version 1.14