12 #include "DataStructures/DataBox/Tag.hpp"
15 #include "DataStructures/VariablesTag.hpp"
17 #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
18 #include "Utilities/ContainerHelpers.hpp"
21 #include "Utilities/TaggedTuple.hpp"
35 template <
size_t SpatialDim,
typename Frame,
typename DataType>
38 tmpl::list<DetSpatialMetric<DataType>,
39 InverseSpatialMetric<SpatialDim, Frame, DataType>>>,
41 using argument_tags = tmpl::list<SpatialMetric<SpatialDim, Frame, DataType>>;
43 tmpl::list<DetSpatialMetric<DataType>,
46 static constexpr
auto function =
static_cast<void (*)(
49 DataType, tmpl::integral_list<std::int32_t, 1, 1>,
50 tmpl::list<SpatialIndex<SpatialDim, UpLo::Lo, Frame>,
61 template <
size_t SpatialDim,
typename Frame,
typename DataType>
64 using argument_tags = tmpl::list<DetSpatialMetric<DataType>>;
71 get(*result) = sqrt(
get(det_spatial_metric));
Mark a struct as a compute tag by inheriting from this.
Definition: Tag.hpp:157
constexpr Tag::type & get(Variables< TagList > &v) noexcept
Return Tag::type pointing into the contiguous array.
Definition: Variables.hpp:638
decltype(auto) get_size(const T &t, SizeFunction size=GetContainerSize{}) noexcept
Retrieve the size of t if t.size() is a valid expression, otherwise if T is fundamental or a std::com...
Definition: ContainerHelpers.hpp:145
void determinant_and_inverse(const gsl::not_null< Scalar< T > * > det, const gsl::not_null< Tensor< T, Symm, tmpl::list< change_index_up_lo< Index1 >, change_index_up_lo< Index0 >>> * > inv, const Tensor< T, Symm, tmpl::list< Index0, Index1 >> &tensor) noexcept
Computes the determinant and inverse of a rank-2 Tensor.
Definition: DeterminantAndInverse.hpp:371
Tensor< T, Symmetry<>, index_list<> > Scalar
Definition: TypeAliases.hpp:21
Definition: GaugeWave.hpp:27
Tensor_detail::TensorIndexType< SpatialDim, Ul, Fr, IndexType::Spatial > SpatialIndex
Definition: IndexType.hpp:187
Require a pointer to not be a nullptr
Definition: ReadSpecThirdOrderPiecewisePolynomial.hpp:13
void destructive_resize_components(const gsl::not_null< Container * > container, const size_t new_size, DestructiveResizeFunction destructive_resize=ContainerDestructiveResize{}) noexcept
Checks the size of each component of the container, and resizes if necessary.
Definition: ContainerHelpers.hpp:177