SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/GeneralRelativity - TimeDerivativeOfSpatialMetric.hpp Hit Total Coverage
Commit: d0fc80462417e83e5cddfa1b9901bb4a9b6af4d6 Lines: 2 3 66.7 %
Date: 2024-03-29 00:33:31
Legend: Lines: hit not hit

          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 gr {
      12             : /// @{
      13             : /*!
      14             :  * \ingroup GeneralRelativityGroup
      15             :  * \brief Computes the time derivative of the spatial metric from extrinsic
      16             :  * curvature, lapse, shift, and their time derivatives.
      17             :  *
      18             :  * \details Computes the derivative as (see e.g. \cite BaumgarteShapiro, Eq.
      19             :  * (2.134)):
      20             :  *
      21             :  * \f{equation}
      22             :  * \partial_t \gamma_{ij} = -2 \alpha K_{ij} + 2 \nabla_{(i} \beta_{j)}
      23             :  *   = -2 \alpha K_{ij} + \beta^k \partial_k \gamma_{ij}
      24             :  *     + \gamma_{ik} \partial_j \beta^k + \gamma_{jk} \partial_i \beta^k
      25             :  * \f}
      26             :  *
      27             :  * where \f$\alpha\f$ is the lapse, \f$\beta^i\f$ is the shift,
      28             :  * \f$\gamma_{ij}\f$ is the spatial metric and \f$K_{ij}\f$ is the extrinsic
      29             :  * curvature.
      30             :  */
      31             : template <typename DataType, size_t SpatialDim, typename Frame>
      32           1 : void time_derivative_of_spatial_metric(
      33             :     gsl::not_null<tnsr::ii<DataType, SpatialDim, Frame>*> dt_spatial_metric,
      34             :     const Scalar<DataType>& lapse,
      35             :     const tnsr::I<DataType, SpatialDim, Frame>& shift,
      36             :     const tnsr::iJ<DataType, SpatialDim, Frame>& deriv_shift,
      37             :     const tnsr::ii<DataType, SpatialDim, Frame>& spatial_metric,
      38             :     const tnsr::ijj<DataType, SpatialDim, Frame>& deriv_spatial_metric,
      39             :     const tnsr::ii<DataType, SpatialDim, Frame>& extrinsic_curvature);
      40             : 
      41             : template <typename DataType, size_t SpatialDim, typename Frame>
      42           1 : tnsr::ii<DataType, SpatialDim, Frame> time_derivative_of_spatial_metric(
      43             :     const Scalar<DataType>& lapse,
      44             :     const tnsr::I<DataType, SpatialDim, Frame>& shift,
      45             :     const tnsr::iJ<DataType, SpatialDim, Frame>& deriv_shift,
      46             :     const tnsr::ii<DataType, SpatialDim, Frame>& spatial_metric,
      47             :     const tnsr::ijj<DataType, SpatialDim, Frame>& deriv_spatial_metric,
      48             :     const tnsr::ii<DataType, SpatialDim, Frame>& extrinsic_curvature);
      49             : /// @}
      50             : }  // namespace gr

Generated by: LCOV version 1.14