SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/RelativisticEuler/Valencia - System.hpp Hit Total Coverage
Commit: 3c072f0ce967e2e56649d3fa12aa2a0e4fe2a42e Lines: 0 17 0.0 %
Date: 2024-04-23 20:50:18
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/RelativisticEuler/Valencia/BoundaryConditions/BoundaryCondition.hpp"
      10             : #include "Evolution/Systems/RelativisticEuler/Valencia/BoundaryCorrections/BoundaryCorrection.hpp"
      11             : #include "Evolution/Systems/RelativisticEuler/Valencia/Characteristics.hpp"
      12             : #include "Evolution/Systems/RelativisticEuler/Valencia/ConservativeFromPrimitive.hpp"
      13             : #include "Evolution/Systems/RelativisticEuler/Valencia/PrimitiveFromConservative.hpp"
      14             : #include "Evolution/Systems/RelativisticEuler/Valencia/Tags.hpp"
      15             : #include "Evolution/Systems/RelativisticEuler/Valencia/TimeDerivativeTerms.hpp"
      16             : #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
      17             : #include "PointwiseFunctions/Hydro/Tags.hpp"
      18             : #include "Utilities/TMPL.hpp"
      19             : 
      20             : /// \ingroup EvolutionSystemsGroup
      21             : /// \brief Items related to evolving the relativistic Euler system
      22             : namespace RelativisticEuler {
      23             : /// \brief The Valencia formulation of the relativistic Euler System
      24             : /// See Chapter 7 of Relativistic Hydrodynamics by Luciano Rezzolla and Olindo
      25             : /// Zanotti or http://iopscience.iop.org/article/10.1086/303604
      26             : namespace Valencia {
      27             : 
      28             : template <size_t Dim>
      29           0 : struct System {
      30           0 :   static constexpr bool is_in_flux_conservative_form = true;
      31           0 :   static constexpr bool has_primitive_and_conservative_vars = true;
      32           0 :   static constexpr size_t volume_dim = Dim;
      33             : 
      34           0 :   using boundary_conditions_base = BoundaryConditions::BoundaryCondition<Dim>;
      35           0 :   using boundary_correction_base = BoundaryCorrections::BoundaryCorrection<Dim>;
      36             : 
      37           0 :   using variables_tag = ::Tags::Variables<
      38             :       tmpl::list<Tags::TildeD, Tags::TildeTau, Tags::TildeS<Dim>>>;
      39           0 :   using flux_variables =
      40             :       tmpl::list<Tags::TildeD, Tags::TildeTau, Tags::TildeS<Dim>>;
      41           0 :   using non_conservative_variables = tmpl::list<>;
      42           0 :   using gradient_variables = tmpl::list<>;
      43           0 :   using primitive_variables_tag = ::Tags::Variables<
      44             :       tmpl::list<hydro::Tags::RestMassDensity<DataVector>,
      45             :                  hydro::Tags::ElectronFraction<DataVector>,
      46             :                  hydro::Tags::SpecificInternalEnergy<DataVector>,
      47             :                  hydro::Tags::LorentzFactor<DataVector>,
      48             :                  hydro::Tags::SpecificEnthalpy<DataVector>,
      49             :                  hydro::Tags::Pressure<DataVector>,
      50             :                  hydro::Tags::SpatialVelocity<DataVector, Dim>,
      51             :                  hydro::Tags::Temperature<DataVector>>>;
      52           0 :   using spacetime_variables_tag =
      53             :       ::Tags::Variables<gr::tags_for_hydro<Dim, DataVector>>;
      54             : 
      55           0 :   using compute_volume_time_derivative_terms = TimeDerivativeTerms<Dim>;
      56             : 
      57           0 :   using conservative_from_primitive = ConservativeFromPrimitive<Dim>;
      58           0 :   using primitive_from_conservative = PrimitiveFromConservative<Dim>;
      59             : 
      60           0 :   using inverse_spatial_metric_tag =
      61             :       gr::Tags::InverseSpatialMetric<DataVector, volume_dim>;
      62             : };
      63             : 
      64             : }  // namespace Valencia
      65             : }  // namespace RelativisticEuler

Generated by: LCOV version 1.14