SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/Cce - BoundaryDataTags.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 14.3 % 7 1
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/DataBox/Tag.hpp"
       9              : #include "DataStructures/Tensor/TypeAliases.hpp"
      10              : #include "Utilities/TMPL.hpp"
      11              : 
      12              : /// \cond
      13              : class ComplexDataVector;
      14              : class DataVector;
      15              : /// \endcond
      16              : 
      17              : namespace Cce {
      18            0 : namespace Frame {
      19              : /// The frame for the spherical metric in which the radial coordinate is an
      20              : /// affine parameter along outward-pointing null geodesics.
      21            1 : struct RadialNull {};
      22              : }  // namespace Frame
      23              : 
      24              : // tensor aliases for brevity
      25            0 : using SphericaliCartesianJ = Tensor<
      26              :     DataVector, tmpl::integral_list<std::int32_t, 2, 1>,
      27              :     index_list<SpatialIndex<3, UpLo::Lo, ::Frame::Spherical<::Frame::Inertial>>,
      28              :                SpatialIndex<3, UpLo::Lo, ::Frame::Inertial>>>;
      29              : 
      30            0 : using CartesianiSphericalJ =
      31              :     Tensor<DataVector, tmpl::integral_list<std::int32_t, 2, 1>,
      32              :            index_list<SpatialIndex<3, UpLo::Lo, ::Frame::Inertial>,
      33              :                       SpatialIndex<3, UpLo::Up,
      34              :                                    ::Frame::Spherical<::Frame::Inertial>>>>;
      35              : 
      36            0 : using AngulariCartesianA = Tensor<
      37              :   DataVector, tmpl::integral_list<std::int32_t, 2, 1>,
      38              :   index_list<SpatialIndex<2, UpLo::Lo, ::Frame::Spherical<::Frame::Inertial>>,
      39              :              SpacetimeIndex<3, UpLo::Lo, ::Frame::Inertial>>>;
      40              : 
      41            0 : using SphericaliCartesianjj = Tensor<
      42              :     DataVector, tmpl::integral_list<std::int32_t, 2, 1, 1>,
      43              :     index_list<SpatialIndex<3, UpLo::Lo, ::Frame::Spherical<::Frame::Inertial>>,
      44              :                SpatialIndex<3, UpLo::Lo, ::Frame::Inertial>,
      45              :                SpatialIndex<3, UpLo::Lo, ::Frame::Inertial>>>;
      46              : 
      47              : namespace Tags {
      48              : namespace detail {
      49              : // this provides a set of tags for the purposes of allocating once in the entire
      50              : // Boundary data computation; these tags are currently not used outside
      51              : // intermediate steps of the procedure in `BoundaryData.hpp`
      52              : 
      53              : struct CosPhi : db::SimpleTag {
      54              :   using type = Scalar<DataVector>;
      55              : };
      56              : 
      57              : struct CosTheta : db::SimpleTag {
      58              :   using type = Scalar<DataVector>;
      59              : };
      60              : 
      61              : struct SinPhi : db::SimpleTag {
      62              :   using type = Scalar<DataVector>;
      63              : };
      64              : 
      65              : struct SinTheta : db::SimpleTag {
      66              :   using type = Scalar<DataVector>;
      67              : };
      68              : 
      69              : struct CartesianCoordinates : db::SimpleTag {
      70              :   using type = tnsr::I<DataVector, 3>;
      71              : };
      72              : 
      73              : struct CartesianToSphericalJacobian : db::SimpleTag {
      74              :   using type = SphericaliCartesianJ;
      75              : };
      76              : 
      77              : struct InverseCartesianToSphericalJacobian : db::SimpleTag {
      78              :   using type = CartesianiSphericalJ;
      79              : };
      80              : 
      81              : struct WorldtubeNormal : db::SimpleTag {
      82              :   using type = tnsr::I<DataVector, 3>;
      83              : };
      84              : 
      85              : struct UpDyad : db::SimpleTag {
      86              :   using type = tnsr::I<ComplexDataVector, 2, Frame::RadialNull>;
      87              : };
      88              : 
      89              : struct DownDyad : db::SimpleTag {
      90              :   using type = tnsr::i<ComplexDataVector, 2, Frame::RadialNull>;
      91              : };
      92              : 
      93              : struct RealBondiR : db::SimpleTag {
      94              :   using type = Scalar<DataVector>;
      95              : };
      96              : 
      97              : struct AngularDNullL : db::SimpleTag {
      98              :   using type = AngulariCartesianA;
      99              : };
     100              : 
     101              : struct NullL : db::SimpleTag {
     102              :   using type = tnsr::A<DataVector, 3>;
     103              : };
     104              : 
     105              : template <typename Tag>
     106              : struct DLambda : db::SimpleTag {
     107              :   using type = typename Tag::type;
     108              : };
     109              : 
     110              : }  // namespace detail
     111              : }  // namespace Tags
     112              : }  // namespace Cce
        

Generated by: LCOV version 2.0-1