Tags.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 #include <string>
8 
11 
12 #include "Evolution/Systems/RadiationTransport/Tags.hpp"
13 
14 class DataVector;
15 
16 /// Namespace for all radiation transport algorithms
17 namespace RadiationTransport {
18 /// Namespace for the grey-M1 radiation transport scheme
19 namespace M1Grey {
20 /// %Tags for the evolution of neutrinos using a grey M1 scheme.
21 namespace Tags {
22 
23 /// The densitized energy density of neutrinos of a given species
24 /// \f${\tilde E}\f$
25 template <typename Fr, class Species>
27  using type = Scalar<DataVector>;
28  static std::string name() noexcept {
29  return Frame::prefix<Fr>() + "TildeE_" + neutrinos::get_name(Species{});
30  }
31 };
32 
33 /// The densitized momentum density of neutrinos of a given species
34 /// \f${\tilde F_i}\f$
35 template <typename Fr, class Species>
37  using type = tnsr::i<DataVector, 3, Fr>;
38  static std::string name() noexcept {
39  return Frame::prefix<Fr>() + "TildeF_" + neutrinos::get_name(Species{});
40  }
41 };
42 
43 } // namespace Tags
44 } // namespace M1Grey
45 } // namespace RadiationTransport
Namespace for all radiation transport algorithms.
Definition: M1Closure.cpp:45
Tags for the DataBox inherit from this type.
Definition: DataBoxTag.hpp:65
The densitized energy density of neutrinos of a given species .
Definition: Tags.hpp:26
Definition: DataBoxTag.hpp:29
The densitized momentum density of neutrinos of a given species .
Definition: Tags.hpp:36
Defines a list of useful type aliases for tensors.
Stores a collection of function values.
Definition: DataVector.hpp:46
Defines classes SimpleTag, PrefixTag, ComputeTag and several functions for retrieving tag info...
Tensor< T, Symmetry<>, index_list<> > Scalar
Scalar type.
Definition: TypeAliases.hpp:21