SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/GrMhd/GhValenciaDivClean - Tags.hpp Hit Total Coverage
Commit: d0fc80462417e83e5cddfa1b9901bb4a9b6af4d6 Lines: 9 16 56.2 %
Date: 2024-03-29 00:33:31
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 "DataStructures/DataBox/DataBoxTag.hpp"
       7             : #include "DataStructures/DataBox/Tag.hpp"
       8             : #include "DataStructures/DataVector.hpp"
       9             : #include "DataStructures/Tensor/Tensor.hpp"
      10             : #include "Evolution/Systems/GeneralizedHarmonic/Tags.hpp"
      11             : #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
      12             : #include "PointwiseFunctions/Hydro/Tags.hpp"
      13             : #include "Utilities/TMPL.hpp"
      14             : 
      15             : namespace grmhd::GhValenciaDivClean {
      16             : /// %Tags for the combined system of the Generalized Harmonic formulation for
      17             : /// the Einstein field equations and the Valencia GRMHD formulation.
      18             : namespace Tags {
      19             : namespace detail {
      20             : // A const reference to another tag, used for rerouting arguments in the
      21             : // combined system utilities
      22             : template <typename Tag, typename Type = db::const_item_type<Tag, tmpl::list<>>>
      23             : struct TemporaryReference {
      24             :   using tag = Tag;
      25             :   using type = const Type&;
      26             : };
      27             : }  // namespace detail
      28             : 
      29             : /// Represents the trace reversed stress-energy tensor of the matter in the MHD
      30             : /// sector of the GRMHD system
      31           1 : struct TraceReversedStressEnergy : db::SimpleTag {
      32           0 :   using type = tnsr::aa<DataVector, 3>;
      33             : };
      34             : 
      35             : /// Represents the stress-energy tensor of the matter in the MHD sector of the
      36             : /// GRMHD system
      37           1 : struct StressEnergy : db::SimpleTag {
      38           0 :   using type = tnsr::aa<DataVector, 3>;
      39             : };
      40             : 
      41             : /// The comoving magnetic field \f$b^\mu\f$
      42           1 : struct ComovingMagneticField : db::SimpleTag {
      43           0 :   using type = tnsr::A<DataVector, 3>;
      44             : };
      45             : 
      46             : /// The fluid four-velocity \f$u^\mu\f$
      47           1 : struct FourVelocity : db::SimpleTag {
      48           0 :   using type = tnsr::A<DataVector, 3>;
      49             : };
      50             : 
      51             : /// The down-index comoving magnetic field \f$b_\mu\f$
      52           1 : struct ComovingMagneticFieldOneForm : db::SimpleTag {
      53           0 :   using type = tnsr::a<DataVector, 3>;
      54             : };
      55             : 
      56             : /// The down-index four-velocity \f$u_\mu\f$
      57           1 : struct FourVelocityOneForm : db::SimpleTag {
      58           0 :   using type = tnsr::a<DataVector, 3>;
      59             : };
      60             : 
      61             : /// \brief Tags sent for GRMHD primitive variable reconstruction. All tags sent
      62             : /// are the reconstruciton+spacetime tags
      63           1 : using primitive_grmhd_reconstruction_tags =
      64             :     tmpl::list<hydro::Tags::RestMassDensity<DataVector>,
      65             :                hydro::Tags::ElectronFraction<DataVector>,
      66             :                hydro::Tags::Temperature<DataVector>,
      67             :                hydro::Tags::LorentzFactorTimesSpatialVelocity<DataVector, 3>,
      68             :                hydro::Tags::MagneticField<DataVector, 3>,
      69             :                hydro::Tags::DivergenceCleaningField<DataVector>>;
      70             : 
      71             : /// \brief Tags sent for spacetime evolution. All tags sent are the
      72             : /// reconstruciton+spacetime tags
      73           1 : using spacetime_reconstruction_tags =
      74             :     tmpl::list<gr::Tags::SpacetimeMetric<DataVector, 3>,
      75             :                gh::Tags::Pi<DataVector, 3>, gh::Tags::Phi<DataVector, 3>>;
      76             : 
      77             : /// \brief All tags sent for primitive reconstruction, both GRMHD and spacetime
      78             : /// evolution tags.
      79           1 : using primitive_grmhd_and_spacetime_reconstruction_tags =
      80             :     tmpl::append<primitive_grmhd_reconstruction_tags,
      81             :                  spacetime_reconstruction_tags>;
      82             : }  // namespace Tags
      83             : }  // namespace grmhd::GhValenciaDivClean

Generated by: LCOV version 1.14