SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/GrMhd/GhValenciaDivClean/Subcell - FixConservativesAndComputePrims.hpp Hit Total Coverage
Commit: 1f2210958b4f38fdc0400907ee7c6d5af5111418 Lines: 2 6 33.3 %
Date: 2025-12-05 05:03:31
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 "Evolution/DgSubcell/Tags/Coordinates.hpp"
      10             : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/System.hpp"
      11             : #include "Evolution/Systems/GrMhd/ValenciaDivClean/FixConservatives.hpp"
      12             : #include "Evolution/Systems/GrMhd/ValenciaDivClean/PrimitiveFromConservativeOptions.hpp"
      13             : #include "Evolution/Systems/GrMhd/ValenciaDivClean/Tags.hpp"
      14             : #include "Evolution/Systems/RadiationTransport/NoNeutrinos/System.hpp"
      15             : #include "Evolution/VariableFixing/Tags.hpp"
      16             : #include "PointwiseFunctions/Hydro/Tags.hpp"
      17             : #include "Utilities/TMPL.hpp"
      18             : 
      19             : /// \cond
      20             : class DataVector;
      21             : namespace EquationsOfState {
      22             : template <bool IsRelativistic, size_t ThermodynamicDim>
      23             : class EquationOfState;
      24             : }  // namespace EquationsOfState
      25             : namespace gsl {
      26             : template <typename T>
      27             : class not_null;
      28             : }  // namespace gsl
      29             : template <typename TagsList>
      30             : class Variables;
      31             : /// \endcond
      32             : 
      33           1 : namespace grmhd::GhValenciaDivClean::subcell {
      34             : /*!
      35             :  * \brief Fix the conservative variables and compute the primitive variables.
      36             :  *
      37             :  * Sets `ValenciaDivClean::Tags::VariablesNeededFixing` to `true` if the
      38             :  * conservative variables needed fixing, otherwise sets the tag to `false`.
      39             :  */
      40             : template <typename OrderedListOfRecoverySchemes,
      41             :           typename System>
      42           1 : struct FixConservativesAndComputePrims {
      43           0 :   using return_tags = tmpl::list<
      44             :       ValenciaDivClean::Tags::VariablesNeededFixing,
      45             :       typename System::variables_tag,
      46             :       typename System::primitive_variables_tag>;
      47           0 :   using argument_tags = tmpl::list<
      48             :       evolution::dg::subcell::Tags::Coordinates<3, Frame::Inertial>,
      49             :       ::Tags::VariableFixer<grmhd::ValenciaDivClean::FixConservatives>,
      50             :       hydro::Tags::GrmhdEquationOfState,
      51             :       grmhd::ValenciaDivClean::Tags::PrimitiveFromConservativeOptions>;
      52             : 
      53           0 :   static void apply(
      54             :       gsl::not_null<bool*> needed_fixing,
      55             :       gsl::not_null<
      56             :           typename System::variables_tag::type*>
      57             :           conserved_vars_ptr,
      58             :       gsl::not_null<Variables<hydro::grmhd_tags<DataVector>>*>
      59             :           primitive_vars_ptr,
      60             :       const tnsr::I<DataVector, 3, Frame::Inertial>& subcell_coords,
      61             :       const grmhd::ValenciaDivClean::FixConservatives& fix_conservatives,
      62             :       const EquationsOfState::EquationOfState<true, 3>& eos,
      63             :       const grmhd::ValenciaDivClean::PrimitiveFromConservativeOptions&
      64             :           primitive_from_conservative_options);
      65             : };
      66             : }  // namespace grmhd::GhValenciaDivClean::subcell

Generated by: LCOV version 1.14