SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/GrMhd/GhValenciaDivClean - SystemM1.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 0.0 % 21 0
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/Tensor/EagerMath/Magnitude.hpp"
       9              : #include "DataStructures/VariablesTag.hpp"
      10              : #include "Evolution/Systems/GeneralizedHarmonic/System.hpp"
      11              : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/BoundaryConditions/BoundaryCondition.hpp"
      12              : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/Characteristics.hpp"
      13              : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/System.hpp"
      14              : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/Tags.hpp"
      15              : #include "Evolution/Systems/GrMhd/ValenciaDivClean/ConservativeFromPrimitive.hpp"
      16              : #include "Evolution/Systems/GrMhd/ValenciaDivClean/NewmanHamlin.hpp"
      17              : #include "Evolution/Systems/GrMhd/ValenciaDivClean/PrimitiveFromConservative.hpp"
      18              : #include "Evolution/Systems/GrMhd/ValenciaDivClean/System.hpp"
      19              : #include "Evolution/Systems/GrMhd/ValenciaDivClean/Tags.hpp"
      20              : #include "Evolution/Systems/GrMhd/ValenciaDivClean/TimeDerivativeTerms.hpp"
      21              : #include "Evolution/Systems/RadiationTransport/M1Grey/System.hpp"
      22              : #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
      23              : #include "PointwiseFunctions/Hydro/Tags.hpp"
      24              : #include "Utilities/TMPL.hpp"
      25              : 
      26              : /// Namespace associated with utilities for the combined Generalized Harmonic,
      27              : /// Valencia formulation of ideal GRMHD with divergence cleaning, and M1Grey
      28              : /// neutrino systems.
      29              : namespace grmhd::GhValenciaDivClean {
      30              : /// \cond
      31              : struct TimeDerivativeTerms;
      32              : /// \endcond
      33              : 
      34              : template <typename... NeutrinoSpecies>
      35            0 : struct System<
      36              :     RadiationTransport::M1Grey::System<tmpl::list<NeutrinoSpecies...>>> {
      37              :   // Will need M1 BCs on top of existing
      38            0 :   using boundary_conditions_base = BoundaryConditions::BoundaryCondition;
      39            0 :   static constexpr bool has_primitive_and_conservative_vars = true;
      40            0 :   static constexpr size_t volume_dim = 3;
      41            0 :   using grmhd_system = grmhd::ValenciaDivClean::System;
      42            0 :   using gh_system = gh::System<3_st>;
      43            0 :   using neutrino_transport_system =
      44              :       RadiationTransport::M1Grey::System<tmpl::list<NeutrinoSpecies...>>;
      45              : 
      46              :   static_assert(std::is_same_v<Tags::spacetime_reconstruction_tags,
      47              :                                typename gh_system::variables_tag::tags_list>);
      48              : 
      49            0 :   using variables_tag = ::Tags::Variables<tmpl::append<
      50              :       typename gh_system::variables_tag::tags_list,
      51              :       typename grmhd_system::variables_tag::tags_list,
      52              :       typename neutrino_transport_system::variables_tag::tags_list>>;
      53            0 :   using non_conservative_variables =
      54              :       typename gh_system::variables_tag::tags_list;
      55            0 :   using flux_variables =
      56              :       tmpl::append<typename gh_system::flux_variables,
      57              :                    typename grmhd_system::flux_variables,
      58              :                    typename neutrino_transport_system::flux_variables>;
      59            0 :   using gradient_variables =
      60              :       tmpl::append<typename gh_system::gradient_variables,
      61              :                    typename grmhd_system::gradient_variables,
      62              :                    typename neutrino_transport_system::gradient_variables>;
      63            0 :   using gradients_tags = gradient_variables;
      64            0 :   static constexpr bool is_in_flux_conservative_form = false;
      65              : 
      66              :   // might need to filter duplicate tags
      67            0 :   using primitive_variables_tag =
      68              :       tmpl::append<typename grmhd_system::primitive_variables_tag,
      69              :                    typename neutrino_transport_system::primitive_variables_tag>;
      70              : 
      71              :   // contains required metric and metric derivatives for Gh system as well
      72            0 :   using spacetime_variables_tags =
      73              :       typename neutrino_transport_system::spacetime_variables_tag;
      74              : 
      75            0 :   using compute_volume_time_derivative_terms = TimeDerivativeTerms;
      76              : 
      77            0 :   using conservative_from_primitive =
      78              :       typename grmhd_system::conservative_from_primitive;
      79              :   template <typename OrderedListOfPrimitiveRecoverySchemes>
      80            0 :   using primitive_from_conservative =
      81              :       typename grmhd_system::template primitive_from_conservative<
      82              :           OrderedListOfPrimitiveRecoverySchemes>;
      83              : 
      84            0 :   using compute_largest_characteristic_speed =
      85              :       Tags::ComputeLargestCharacteristicSpeed<>;
      86              : 
      87            0 :   using inverse_spatial_metric_tag =
      88              :       typename gh_system::inverse_spatial_metric_tag;
      89              : };
      90              : }  // namespace grmhd::GhValenciaDivClean
        

Generated by: LCOV version 2.0-1