SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/NewtonianEuler/Subcell - PrimitiveGhostData.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 8.3 % 12 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/VariablesTag.hpp"
       9              : #include "PointwiseFunctions/Hydro/Tags.hpp"
      10              : #include "Utilities/TMPL.hpp"
      11              : 
      12              : /// \cond
      13              : template <typename TagsList>
      14              : class Variables;
      15              : /// \endcond
      16              : 
      17              : namespace NewtonianEuler::subcell {
      18              : /*!
      19              :  * \brief Computes the mass density, velocity, and pressure on the subcells so
      20              :  * they can be sent to the neighbors for their reconstructions.
      21              :  *
      22              :  * The computation just copies the data from the primitive variables tag to a
      23              :  * new Variables (the copy is subcell grid to subcell grid). In the future we
      24              :  * will likely want to elide this copy but that requires support from the
      25              :  * actions.
      26              :  *
      27              :  * This mutator is passed to
      28              :  * `evolution::dg::subcell::Actions::SendDataForReconstruction`.
      29              :  */
      30              : template <size_t Dim>
      31            1 : class PrimitiveGhostVariables {
      32              :  private:
      33            0 :   using MassDensity = hydro::Tags::RestMassDensity<DataVector>;
      34            0 :   using Velocity = hydro::Tags::SpatialVelocity<DataVector, Dim>;
      35            0 :   using SpecificInternalEnergy =
      36              :       hydro::Tags::SpecificInternalEnergy<DataVector>;
      37            0 :   using Pressure = hydro::Tags::Pressure<DataVector>;
      38              : 
      39            0 :   using prim_tags =
      40              :       tmpl::list<MassDensity, Velocity, SpecificInternalEnergy, Pressure>;
      41            0 :   using prims_to_reconstruct_tags = tmpl::list<MassDensity, Velocity, Pressure>;
      42              : 
      43              :  public:
      44            0 :   using ghost_variables_tag_list = prims_to_reconstruct_tags;
      45            0 :   using return_tags = tmpl::list<>;
      46            0 :   using argument_tags = tmpl::list<::Tags::Variables<prim_tags>>;
      47              : 
      48            0 :   static DataVector apply(const Variables<prim_tags>& prims, size_t rdmp_size);
      49              : };
      50              : }  // namespace NewtonianEuler::subcell
        

Generated by: LCOV version 2.0-1