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 the time derivative of the spacetime metric from the 16 : * generalized harmonic quantities \f$\Pi_{a b}\f$, \f$\Phi_{i a b}\f$, and the 17 : * lapse \f$\alpha\f$ and shift \f$\beta^i\f$. 18 : * 19 : * \details Computes the derivative as: 20 : * 21 : * \f{align}{ 22 : * \partial_t g_{a b} = \beta^i \Phi_{i a b} - \alpha \Pi_{a b}. 23 : * \f} 24 : */ 25 : template <typename DataType, size_t SpatialDim, typename Frame> 26 1 : void time_derivative_of_spacetime_metric( 27 : gsl::not_null<tnsr::aa<DataType, SpatialDim, Frame>*> dt_spacetime_metric, 28 : const Scalar<DataType>& lapse, 29 : const tnsr::I<DataType, SpatialDim, Frame>& shift, 30 : const tnsr::aa<DataType, SpatialDim, Frame>& pi, 31 : const tnsr::iaa<DataType, SpatialDim, Frame>& phi); 32 : 33 : template <typename DataType, size_t SpatialDim, typename Frame> 34 1 : tnsr::aa<DataType, SpatialDim, Frame> time_derivative_of_spacetime_metric( 35 : const Scalar<DataType>& lapse, 36 : const tnsr::I<DataType, SpatialDim, Frame>& shift, 37 : const tnsr::aa<DataType, SpatialDim, Frame>& pi, 38 : const tnsr::iaa<DataType, SpatialDim, Frame>& phi); 39 : /// @} 40 : } // namespace gh