SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/GeneralRelativity/Surfaces - InverseSurfaceMetric.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              : /// \ingroup SurfacesGroup
      19              : /// \brief Computes inverse 2-metric \f$g^{ij}-S^i S^j\f$ of a Strahlkorper.
      20              : ///
      21              : /// \details See Eqs. (1--9) of \cite Baumgarte1996hh.
      22              : /// Here \f$S^i\f$ is the (normalized) unit vector to the surface,
      23              : /// and \f$g^{ij}\f$ is the 3-metric.  This object is expressed in the
      24              : /// usual 3-d Cartesian basis, so it is written as a 3-dimensional tensor.
      25              : /// But because it is orthogonal to \f$S_i\f$, it has only 3 independent
      26              : /// degrees of freedom, and could be expressed as a 2-d tensor with an
      27              : /// appropriate choice of basis. The input argument `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              : template <typename Frame>
      30            1 : void inverse_surface_metric(
      31              :     gsl::not_null<tnsr::II<DataVector, 3, Frame>*> result,
      32              :     const tnsr::I<DataVector, 3, Frame>& unit_normal_vector,
      33              :     const tnsr::II<DataVector, 3, Frame>& upper_spatial_metric);
      34              : 
      35              : template <typename Frame>
      36            1 : tnsr::II<DataVector, 3, Frame> inverse_surface_metric(
      37              :     const tnsr::I<DataVector, 3, Frame>& unit_normal_vector,
      38              :     const tnsr::II<DataVector, 3, Frame>& upper_spatial_metric);
      39              : /// @}
      40              : }  // namespace gr::surfaces
        

Generated by: LCOV version 2.0-1