SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/GeneralRelativity/Surfaces - SurfaceIntegralOfVector.hpp Hit Total Coverage
Commit: 965048f86d23c819715b3af1ca3f880c8145d4bb Lines: 1 2 50.0 %
Date: 2024-05-16 17:00:40
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 ylm {
      11             : template <typename Frame>
      12             : class Strahlkorper;
      13             : }  // namespace ylm
      14             : /// \endcond
      15             : 
      16             : namespace gr::surfaces {
      17             : /*!
      18             :  * \ingroup SurfacesGroup
      19             :  * \brief Euclidean surface integral of a vector on a 2D `Strahlkorper`
      20             :  *
      21             :  * \details Computes the surface integral
      22             :  * \f$\oint V^i s_i (s_j s_k \delta^{jk})^{-1/2} d^2S\f$ for a
      23             :  * vector \f$V^i\f$ on a `Strahlkorper` with area element \f$d^2S\f$ and
      24             :  * normal one-form \f$s_i\f$.  Here \f$\delta^{ij}\f$ is the Euclidean
      25             :  * metric (i.e. the Kronecker delta). Note that the input `normal_one_form`
      26             :  * is not assumed to be normalized; the denominator of the integrand
      27             :  * effectively normalizes it using the Euclidean metric.
      28             :  * The area element can be computed via
      29             :  * `gr::surfaces::euclidean_area_element()`.
      30             :  */
      31             : template <typename Frame>
      32           1 : double euclidean_surface_integral_of_vector(
      33             :     const Scalar<DataVector>& area_element,
      34             :     const tnsr::I<DataVector, 3, Frame>& vector,
      35             :     const tnsr::i<DataVector, 3, Frame>& normal_one_form,
      36             :     const ylm::Strahlkorper<Frame>& strahlkorper);
      37             : }  // namespace gr::surfaces

Generated by: LCOV version 1.14