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/Tensor.hpp" 9 : #include "Utilities/Gsl.hpp" 10 : 11 : namespace CurvedScalarWave::Worldtube { 12 : /*! 13 : * \brief The spatial derivative of the zero spin inverse Kerr Schild metric, 14 : * $\partial_i g^{\mu \nu}$, assuming a black hole at the coordinate center with 15 : * mass M = 1. 16 : */ 17 1 : tnsr::iAA<double, 3> spatial_derivative_inverse_ks_metric( 18 : const tnsr::I<double, 3>& pos); 19 : 20 : /*! 21 : * \brief The spatial derivative of the spacetime metric, 22 : * $\partial_i g_{\mu \nu}$. 23 : */ 24 1 : tnsr::iaa<double, 3> spatial_derivative_ks_metric( 25 : const tnsr::aa<double, 3>& metric, 26 : const tnsr::iAA<double, 3>& di_inverse_metric); 27 : 28 : /*! 29 : * \brief The second spatial derivative of the zero spin inverse Kerr Schild 30 : * metric, $\partial_i \partial_j g^{\mu \nu}$, assuming a black hole at the 31 : * coordinate center with mass M = 1. 32 : */ 33 1 : tnsr::iiAA<double, 3> second_spatial_derivative_inverse_ks_metric( 34 : const tnsr::I<double, 3>& pos); 35 : 36 : /*! 37 : * \brief The spatial derivative of the spacetime metric, 38 : * $\partial_i \partial_j g_{\mu \nu}$. 39 : */ 40 1 : tnsr::iiaa<double, 3> second_spatial_derivative_metric( 41 : const tnsr::aa<double, 3>& metric, const tnsr::iaa<double, 3>& di_metric, 42 : const tnsr::iAA<double, 3>& di_inverse_metric, 43 : const tnsr::iiAA<double, 3>& dij_inverse_metric); 44 : 45 : /*! 46 : * \brief The spatial derivative of the Christoffel 47 : * symbols, $\partial_i \Gamma^\rho_{\mu \nu}$. 48 : */ 49 1 : tnsr::iAbb<double, 3> spatial_derivative_christoffel( 50 : const tnsr::iaa<double, 3>& di_metric, 51 : const tnsr::iiaa<double, 3>& dij_metric, 52 : const tnsr::AA<double, 3>& inverse_metric, 53 : const tnsr::iAA<double, 3>& di_inverse_metric); 54 : 55 : /*! 56 : * \brief The spatial derivative of the zero spin Kerr Schild contracted 57 : * Christoffel symbols, 58 : * $\partial_i g^{\mu \nu} \Gamma^\rho_{\mu \nu}$, assuming a black hole at the 59 : * coordinate center with mass M = 1. 60 : */ 61 1 : tnsr::iA<double, 3> spatial_derivative_ks_contracted_christoffel( 62 : const tnsr::I<double, 3>& pos); 63 : 64 : } // namespace CurvedScalarWave::Worldtube