SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/NewtonianEuler - System.hpp Hit Total Coverage
Commit: 361cb8d8406bb752684a5f31c27320ec444a50e3 Lines: 0 15 0.0 %
Date: 2025-11-09 02:02:04
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 "Evolution/Systems/NewtonianEuler/BoundaryConditions/BoundaryCondition.hpp"
      10             : #include "Evolution/Systems/NewtonianEuler/Characteristics.hpp"
      11             : #include "Evolution/Systems/NewtonianEuler/ConservativeFromPrimitive.hpp"
      12             : #include "Evolution/Systems/NewtonianEuler/PrimitiveFromConservative.hpp"
      13             : #include "Evolution/Systems/NewtonianEuler/Tags.hpp"
      14             : #include "Evolution/Systems/NewtonianEuler/TimeDerivativeTerms.hpp"
      15             : #include "PointwiseFunctions/Hydro/Tags.hpp"
      16             : #include "Utilities/TMPL.hpp"
      17             : 
      18             : /// \ingroup EvolutionSystemsGroup
      19             : /// \brief Items related to evolving the Newtonian Euler system
      20             : namespace NewtonianEuler {
      21             : 
      22             : template <size_t Dim>
      23           0 : struct System {
      24           0 :   static constexpr bool is_in_flux_conservative_form = true;
      25           0 :   static constexpr bool has_primitive_and_conservative_vars = true;
      26           0 :   static constexpr size_t volume_dim = Dim;
      27             : 
      28           0 :   using boundary_conditions_base = BoundaryConditions::BoundaryCondition<Dim>;
      29             : 
      30           0 :   using variables_tag = ::Tags::Variables<tmpl::list<
      31             :       Tags::MassDensityCons, Tags::MomentumDensity<Dim>, Tags::EnergyDensity>>;
      32           0 :   using flux_variables =
      33             :       tmpl::list<Tags::MassDensityCons, Tags::MomentumDensity<Dim>,
      34             :                  Tags::EnergyDensity>;
      35           0 :   using non_conservative_variables = tmpl::list<>;
      36           0 :   using gradient_variables = tmpl::list<>;
      37             :   // Compute item for pressure not currently implemented in SpECTRE,
      38             :   // so its simple tag is passed along with the primitive variables.
      39           0 :   using primitive_variables_tag = ::Tags::Variables<
      40             :       tmpl::list<hydro::Tags::RestMassDensity<DataVector>,
      41             :                  hydro::Tags::SpatialVelocity<DataVector, Dim>,
      42             :                  hydro::Tags::SpecificInternalEnergy<DataVector>,
      43             :                  hydro::Tags::Pressure<DataVector>>>;
      44             : 
      45           0 :   using compute_volume_time_derivative_terms = TimeDerivativeTerms<Dim>;
      46             : 
      47           0 :   using conservative_from_primitive = ConservativeFromPrimitive<Dim>;
      48           0 :   using primitive_from_conservative = PrimitiveFromConservative<Dim>;
      49             : 
      50           0 :   using compute_largest_characteristic_speed =
      51             :       Tags::ComputeLargestCharacteristicSpeed<Dim>;
      52             : };
      53             : 
      54             : }  // namespace NewtonianEuler

Generated by: LCOV version 1.14