SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/Xcts - AdmMass.hpp Hit Total Coverage
Commit: f23e75c235cae5144b8ac7ce01280be5b8cd2c8a Lines: 2 3 66.7 %
Date: 2024-09-07 06:21:00
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/DataVector.hpp"
       7             : #include "DataStructures/Tensor/Tensor.hpp"
       8             : #include "Utilities/Gsl.hpp"
       9             : 
      10             : namespace Xcts {
      11             : 
      12             : /// @{
      13             : /*!
      14             :  * \brief Surface integrand for the ADM mass calculation.
      15             :  *
      16             :  * We define the ADM mass integral as (see Eq. 3.139 in \cite BaumgarteShapiro):
      17             :  *
      18             :  * \begin{equation}
      19             :  *   M_{ADM}
      20             :  *   = \int_{S_\infty} \frac{1}{16\pi} (
      21             :  *     \bar\gamma^{jk} \bar\Gamma^i_{jk}
      22             :  *     - \bar\gamma^{ij} \bar\Gamma_{j}
      23             :  *     - 8 \bar\gamma^{ij} \partial_j \psi
      24             :  *   ) d\bar{S}_i.
      25             :  * \end{equation}
      26             :  *
      27             :  * Note that we don't use the other versions presented in \cite BaumgarteShapiro
      28             :  * of this integral because they make assumptions like $\bar\gamma = 1$,
      29             :  * $\bar\Gamma^i_{ij} = 0$ and fast fall-off of the conformal metric.
      30             :  *
      31             :  * \param result output buffer for the surface integrand
      32             :  * \param deriv_conformal_factor the partial derivatives of the conformal factor
      33             :  * $\partial_i \psi$
      34             :  * \param inv_conformal_metric the inverse conformal metric $\bar\gamma^{ij}$
      35             :  * \param conformal_christoffel_second_kind the conformal christoffel symbol
      36             :  * $\bar\Gamma^i_{jk}$
      37             :  * \param conformal_christoffel_contracted the conformal christoffel symbol
      38             :  * contracted in its first two indices $\bar\Gamma_{i} = \bar\Gamma^j_{ij}$
      39             :  */
      40           1 : void adm_mass_surface_integrand(
      41             :     gsl::not_null<tnsr::I<DataVector, 3>*> result,
      42             :     const tnsr::i<DataVector, 3>& deriv_conformal_factor,
      43             :     const tnsr::II<DataVector, 3>& inv_conformal_metric,
      44             :     const tnsr::Ijj<DataVector, 3>& conformal_christoffel_second_kind,
      45             :     const tnsr::i<DataVector, 3>& conformal_christoffel_contracted);
      46             : 
      47             : /// Return-by-value overload
      48           1 : tnsr::I<DataVector, 3> adm_mass_surface_integrand(
      49             :     const tnsr::i<DataVector, 3>& deriv_conformal_factor,
      50             :     const tnsr::II<DataVector, 3>& inv_conformal_metric,
      51             :     const tnsr::Ijj<DataVector, 3>& conformal_christoffel_second_kind,
      52             :     const tnsr::i<DataVector, 3>& conformal_christoffel_contracted);
      53             : /// @}
      54             : 
      55             : }  // namespace Xcts

Generated by: LCOV version 1.14