SpECTRE Documentation Coverage Report
Current view: top level - DataStructures/Tags - TempTensor.hpp Hit Total Coverage
Commit: 3c072f0ce967e2e56649d3fa12aa2a0e4fe2a42e Lines: 30 34 88.2 %
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             : #include <string>
       8             : 
       9             : #include "DataStructures/DataBox/Tag.hpp"
      10             : #include "DataStructures/Tensor/TypeAliases.hpp"
      11             : 
      12             : /// \cond
      13             : class DataVector;
      14             : namespace Frame {
      15             : struct Inertial;
      16             : }  // namespace Frame
      17             : /// \endcond
      18             : 
      19             : namespace Tags {
      20             : template <size_t N, typename T>
      21           0 : struct TempTensor : db::SimpleTag {
      22           0 :   using type = T;
      23           0 :   static std::string name() {
      24             :     return std::string("TempTensor") + std::to_string(N);
      25             :   }
      26             : };
      27             : 
      28             : /// @{
      29             : /// \ingroup PeoGroup
      30             : /// Variables Tags for temporary tensors inside a function.
      31             : template <size_t N, typename DataType = DataVector>
      32           1 : using TempScalar = TempTensor<N, Scalar<DataType>>;
      33             : 
      34             : // Rank 1
      35             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      36             :           typename DataType = DataVector>
      37           1 : using Tempa = TempTensor<N, tnsr::a<DataType, SpatialDim, Fr>>;
      38             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      39             :           typename DataType = DataVector>
      40           1 : using TempA = TempTensor<N, tnsr::A<DataType, SpatialDim, Fr>>;
      41             : 
      42             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      43             :           typename DataType = DataVector>
      44           1 : using Tempi = TempTensor<N, tnsr::i<DataType, SpatialDim, Fr>>;
      45             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      46             :           typename DataType = DataVector>
      47           1 : using TempI = TempTensor<N, tnsr::I<DataType, SpatialDim, Fr>>;
      48             : 
      49             : // Rank 2
      50             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      51             :           typename DataType = DataVector>
      52           1 : using Tempab = TempTensor<N, tnsr::ab<DataType, SpatialDim, Fr>>;
      53             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      54             :           typename DataType = DataVector>
      55           1 : using TempaB = TempTensor<N, tnsr::aB<DataType, SpatialDim, Fr>>;
      56             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      57             :           typename DataType = DataVector>
      58           1 : using TempAb = TempTensor<N, tnsr::Ab<DataType, SpatialDim, Fr>>;
      59             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      60             :           typename DataType = DataVector>
      61           1 : using TempAB = TempTensor<N, tnsr::AB<DataType, SpatialDim, Fr>>;
      62             : 
      63             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      64             :           typename DataType = DataVector>
      65           1 : using Tempij = TempTensor<N, tnsr::ij<DataType, SpatialDim, Fr>>;
      66             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      67             :           typename DataType = DataVector>
      68           1 : using TempiJ = TempTensor<N, tnsr::iJ<DataType, SpatialDim, Fr>>;
      69             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      70             :           typename DataType = DataVector>
      71           1 : using TempIj = TempTensor<N, tnsr::Ij<DataType, SpatialDim, Fr>>;
      72             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      73             :           typename DataType = DataVector>
      74           1 : using TempIJ = TempTensor<N, tnsr::IJ<DataType, SpatialDim, Fr>>;
      75             : 
      76             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      77             :           typename DataType = DataVector>
      78           1 : using Tempia = TempTensor<N, tnsr::ia<DataType, SpatialDim, Fr>>;
      79             : 
      80             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      81             :           typename DataType = DataVector>
      82           1 : using Tempaa = TempTensor<N, tnsr::aa<DataType, SpatialDim, Fr>>;
      83             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      84             :           typename DataType = DataVector>
      85           1 : using TempAA = TempTensor<N, tnsr::AA<DataType, SpatialDim, Fr>>;
      86             : 
      87             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      88             :           typename DataType = DataVector>
      89           1 : using Tempii = TempTensor<N, tnsr::ii<DataType, SpatialDim, Fr>>;
      90             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      91             :           typename DataType = DataVector>
      92           1 : using TempII = TempTensor<N, tnsr::II<DataType, SpatialDim, Fr>>;
      93             : 
      94             : // Rank 3
      95             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      96             :           typename DataType = DataVector>
      97           1 : using Tempijj = TempTensor<N, tnsr::ijj<DataType, SpatialDim, Fr>>;
      98             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
      99             :           typename DataType = DataVector>
     100           1 : using TempIjj = TempTensor<N, tnsr::Ijj<DataType, SpatialDim, Fr>>;
     101             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     102             :           typename DataType = DataVector>
     103           1 : using Tempijk = TempTensor<N, tnsr::ijk<DataType, SpatialDim, Fr>>;
     104             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     105             :           typename DataType = DataVector>
     106           1 : using TempiJk = TempTensor<N, tnsr::iJk<DataType, SpatialDim, Fr>>;
     107             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     108             :           typename DataType = DataVector>
     109           1 : using TempijK = TempTensor<N, tnsr::ijK<DataType, SpatialDim, Fr>>;
     110             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     111             :           typename DataType = DataVector>
     112           1 : using Tempiii = TempTensor<N, tnsr::iii<DataType, SpatialDim, Fr>>;
     113             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     114             :           typename DataType = DataVector>
     115           1 : using Tempiaa = TempTensor<N, tnsr::iaa<DataType, SpatialDim, Fr>>;
     116             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     117             :           typename DataType = DataVector>
     118           1 : using TempIaa = TempTensor<N, tnsr::Iaa<DataType, SpatialDim, Fr>>;
     119             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     120             :           typename DataType = DataVector>
     121           1 : using TempiaB = TempTensor<N, tnsr::iaB<DataType, SpatialDim, Fr>>;
     122             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     123             :           typename DataType = DataVector>
     124           1 : using Tempabb = TempTensor<N, tnsr::abb<DataType, SpatialDim, Fr>>;
     125             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     126             :           typename DataType = DataVector>
     127           1 : using TempabC = TempTensor<N, tnsr::abC<DataType, SpatialDim, Fr>>;
     128             : 
     129             : // Rank 4
     130             : template <size_t N, size_t SpatialDim, typename Fr = Frame::Inertial,
     131             :           typename DataType = DataVector>
     132           1 : using Tempijaa = TempTensor<N, tnsr::ijaa<DataType, SpatialDim, Fr>>;
     133             : /// @}
     134             : }  // namespace Tags

Generated by: LCOV version 1.14