SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/NewtonianEuler - System.hpp Hit Total Coverage
Commit: 2068747df712b64688243d3254666212942d85f2 Lines: 0 16 0.0 %
Date: 2026-05-22 23:35:16
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 std::string name() { return "NewtonianEuler"; }
      25             : 
      26           0 :   static constexpr bool is_in_flux_conservative_form = true;
      27           0 :   static constexpr bool has_primitive_and_conservative_vars = true;
      28           0 :   static constexpr size_t volume_dim = Dim;
      29             : 
      30           0 :   using boundary_conditions_base = BoundaryConditions::BoundaryCondition<Dim>;
      31             : 
      32           0 :   using variables_tag = ::Tags::Variables<tmpl::list<
      33             :       Tags::MassDensityCons, Tags::MomentumDensity<Dim>, Tags::EnergyDensity>>;
      34           0 :   using flux_variables =
      35             :       tmpl::list<Tags::MassDensityCons, Tags::MomentumDensity<Dim>,
      36             :                  Tags::EnergyDensity>;
      37           0 :   using non_conservative_variables = tmpl::list<>;
      38           0 :   using gradient_variables = tmpl::list<>;
      39             :   // Compute item for pressure not currently implemented in SpECTRE,
      40             :   // so its simple tag is passed along with the primitive variables.
      41           0 :   using primitive_variables_tag = ::Tags::Variables<
      42             :       tmpl::list<hydro::Tags::RestMassDensity<DataVector>,
      43             :                  hydro::Tags::SpatialVelocity<DataVector, Dim>,
      44             :                  hydro::Tags::SpecificInternalEnergy<DataVector>,
      45             :                  hydro::Tags::Pressure<DataVector>>>;
      46             : 
      47           0 :   using compute_volume_time_derivative_terms = TimeDerivativeTerms<Dim>;
      48             : 
      49           0 :   using conservative_from_primitive = ConservativeFromPrimitive<Dim>;
      50           0 :   using primitive_from_conservative = PrimitiveFromConservative<Dim>;
      51             : 
      52           0 :   using compute_largest_characteristic_speed =
      53             :       Tags::ComputeLargestCharacteristicSpeed<Dim>;
      54             : };
      55             : 
      56             : }  // namespace NewtonianEuler

Generated by: LCOV version 1.14