SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/GeneralRelativity/Surfaces - ExtrinsicCurvature.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 66.7 % 3 2
Test Date: 2026-10-22 17:29:42
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 "DataStructures/Tensor/TypeAliases.hpp"
       7              : 
       8              : /// \cond
       9              : class DataVector;
      10              : namespace gsl {
      11              : template <typename>
      12              : struct not_null;
      13              : }  // namespace gsl
      14              : /// \endcond
      15              : 
      16              : namespace gr::surfaces {
      17              : /// @{
      18              : /*!
      19              :  * \ingroup SurfacesGroup
      20              :  * \brief Extrinsic curvature of a 2D `Strahlkorper` embedded in a 3D space.
      21              :  *
      22              :  * \details Implements Eq. (D.43) of Carroll's Spacetime and Geometry text.
      23              :  * Specifically,
      24              :  * \f$ K_{ij} = P^k_i P^l_j \nabla_{(k} S_{l)} \f$, where
      25              :  * \f$ P^k_i = \delta^k_i - S^k S_i \f$,
      26              :  * `grad_normal` is the quantity \f$ \nabla_k S_l \f$ returned by
      27              :  * `gr::surfaces::grad_unit_normal_one_form`, and `unit_normal_vector` is
      28              :  * \f$S^i = g^{ij} S_j\f$ where \f$S_j\f$ is the unit normal one form.
      29              :  * Not to be confused with the extrinsic curvature of a 3D spatial slice
      30              :  * embedded in 3+1 spacetime.
      31              :  * Because gr::surfaces::grad_unit_normal_one_form is symmetric, this
      32              :  * can be expanded into
      33              :  * \f$ K_{ij} = \nabla_{i}S_{j} - 2 S^k S_{(i}\nabla_{j)}S_k
      34              :  * + S_i S_j S^k S^l \nabla_{k} n_{l}\f$.
      35              :  */
      36              : template <typename Frame>
      37            1 : void extrinsic_curvature(
      38              :     gsl::not_null<tnsr::ii<DataVector, 3, Frame>*> result,
      39              :     const tnsr::ii<DataVector, 3, Frame>& grad_normal,
      40              :     const tnsr::i<DataVector, 3, Frame>& unit_normal_one_form,
      41              :     const tnsr::I<DataVector, 3, Frame>& unit_normal_vector);
      42              : 
      43              : template <typename Frame>
      44            1 : tnsr::ii<DataVector, 3, Frame> extrinsic_curvature(
      45              :     const tnsr::ii<DataVector, 3, Frame>& grad_normal,
      46              :     const tnsr::i<DataVector, 3, Frame>& unit_normal_one_form,
      47              :     const tnsr::I<DataVector, 3, Frame>& unit_normal_vector);
      48              : /// @}
      49              : }  // namespace gr::surfaces
        

Generated by: LCOV version 2.0-1