SpECTRE Documentation Coverage Report
Current view: top level - NumericalAlgorithms/LinearOperators - IndefiniteIntegral.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             : /// \cond
       9             : template <size_t>
      10             : class Mesh;
      11             : namespace gsl {
      12             : template <typename T>
      13             : class not_null;
      14             : }  // namespace gsl
      15             : /// \endcond
      16             : 
      17             : /// @{
      18             : /*!
      19             :  * \ingroup NumericalAlgorithmsGroup
      20             :  * \brief Compute the indefinite integral of a function in the
      21             :  * `dim_to_integrate`, applying a zero boundary condition on each stripe.
      22             :  *
      23             :  * Integrates with respect to one of the logical coordinates
      24             :  * \f$\boldsymbol{\xi} = (\xi, \eta, \zeta)\f$.
      25             :  *
      26             :  * The integral w.r.t. a different set of coordinates
      27             :  * \f$\boldsymbol{x} = \boldsymbol{x}(\boldsymbol{\xi})\f$ can be computed
      28             :  * by pre-multiplying `integrand` by the Jacobian determinant
      29             :  * \f$J = \det d\boldsymbol{x}/d\boldsymbol{\xi}\f$ of the mapping
      30             :  * \f$\boldsymbol{x}(\boldsymbol{\xi})\f$. The integration is still performed
      31             :  * along one logical-coordinate direction, indicated by `dim_to_integrate`.
      32             :  *
      33             :  * \requires number of points in `integrand` and `mesh` are equal.
      34             :  */
      35             : template <size_t Dim, typename VectorType>
      36           1 : void indefinite_integral(gsl::not_null<VectorType*> integral,
      37             :                          const VectorType& integrand, const Mesh<Dim>& mesh,
      38             :                          size_t dim_to_integrate);
      39             : 
      40             : template <size_t Dim, typename VectorType>
      41           1 : VectorType indefinite_integral(const VectorType& integrand,
      42             :                                const Mesh<Dim>& mesh, size_t dim_to_integrate);
      43             : /// @}

Generated by: LCOV version 1.14