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

Generated by: LCOV version 2.0-1