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/Tensor/TypeAliases.hpp"
9 : #include "Utilities/Gsl.hpp"
10 :
11 : namespace gh {
12 : /// @{
13 : /*!
14 : * \ingroup GeneralRelativityGroup
15 : * \brief Computes spacetime derivatives of the determinant of spatial metric,
16 : * using the generalized harmonic variables, spatial metric, and its
17 : * time derivative.
18 : *
19 : * \details Using the relation
20 : * \f$ \partial_a \gamma = \gamma \gamma^{jk} \partial_a \gamma_{jk} \f$
21 : */
22 : template <typename DataType, size_t SpatialDim, typename Frame>
23 1 : void spacetime_deriv_of_det_spatial_metric(
24 : gsl::not_null<tnsr::a<DataType, SpatialDim, Frame>*> d4_det_spatial_metric,
25 : const Scalar<DataType>& sqrt_det_spatial_metric,
26 : const tnsr::II<DataType, SpatialDim, Frame>& inverse_spatial_metric,
27 : const tnsr::ii<DataType, SpatialDim, Frame>& dt_spatial_metric,
28 : const tnsr::iaa<DataType, SpatialDim, Frame>& phi);
29 :
30 : template <typename DataType, size_t SpatialDim, typename Frame>
31 1 : tnsr::a<DataType, SpatialDim, Frame> spacetime_deriv_of_det_spatial_metric(
32 : const Scalar<DataType>& sqrt_det_spatial_metric,
33 : const tnsr::II<DataType, SpatialDim, Frame>& inverse_spatial_metric,
34 : const tnsr::ii<DataType, SpatialDim, Frame>& dt_spatial_metric,
35 : const tnsr::iaa<DataType, SpatialDim, Frame>& phi);
36 : /// @}
37 : } // namespace gh
|