SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/RadiationTransport/M1Grey - Characteristics.hpp Hit Total Coverage
Commit: 3c072f0ce967e2e56649d3fa12aa2a0e4fe2a42e Lines: 3 11 27.3 %
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 <array>
       7             : #include <cstddef>
       8             : 
       9             : #include "DataStructures/DataBox/Tag.hpp"
      10             : #include "DataStructures/Tensor/TypeAliases.hpp"
      11             : #include "Evolution/Systems/RadiationTransport/M1Grey/Tags.hpp"
      12             : #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"  // IWYU pragma: keep
      13             : #include "Utilities/TMPL.hpp"
      14             : 
      15             : /// \cond
      16             : namespace gsl {
      17             : template <class T>
      18             : class not_null;
      19             : }  // namespace gsl
      20             : class DataVector;
      21             : /// \endcond
      22             : 
      23             : namespace RadiationTransport {
      24             : namespace M1Grey {
      25             : 
      26             : /*!
      27             :  * \brief Compute the characteristic speeds for the M1 system
      28             :  *
      29             :  * At this point, for testing purposes, we just set all
      30             :  * speeds to 1... this needs to be fixed in the future to
      31             :  * use the correct speed values.
      32             :  */
      33           1 : void characteristic_speeds(
      34             :     gsl::not_null<std::array<DataVector, 4>*> pchar_speeds,
      35             :     const Scalar<DataVector>& lapse);
      36             : 
      37           1 : namespace Tags {
      38             : /// \brief Compute the characteristic speeds for the M1 system
      39             : ///
      40           1 : struct CharacteristicSpeedsCompute : Tags::CharacteristicSpeeds,
      41             :                                      db::ComputeTag {
      42           0 :   using base = Tags::CharacteristicSpeeds;
      43           0 :   using argument_tags = tmpl::list<gr::Tags::Lapse<DataVector>>;
      44             : 
      45           0 :   using return_type = std::array<DataVector, 4>;
      46             : 
      47           0 :   static constexpr auto function = characteristic_speeds;
      48             : };
      49             : }  // namespace Tags
      50             : 
      51           0 : struct ComputeLargestCharacteristicSpeed {
      52           0 :   using argument_tags = tmpl::list<>;
      53           0 :   static double apply() { return 1.0; }
      54             : };
      55             : 
      56             : }  // namespace M1Grey
      57             : }  // namespace RadiationTransport

Generated by: LCOV version 1.14