SpECTRE Documentation Coverage Report
Current view: top level - NumericalAlgorithms/LinearOperators - Linearize.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 100.0 % 5 5
Test Date: 2026-10-22 17:29:42
Legend: Lines:     hit not hit

            Line data    Source code
       1            1 : // Distributed under the MIT License.
       2              : // See LICENSE.txt for details.
       3              : 
       4              : /// \file
       5              : /// Defines function linearize.
       6              : 
       7              : #pragma once
       8              : 
       9              : #include <cstddef>
      10              : 
      11              : /// \cond
      12              : class DataVector;
      13              : template <size_t>
      14              : class Mesh;
      15              : namespace gsl {
      16              : template <class>
      17              : class not_null;
      18              : }  // namespace gsl
      19              : /// \endcond
      20              : 
      21              : /// @{
      22              : /*!
      23              :  * \ingroup NumericalAlgorithmsGroup
      24              :  * \brief Truncate u to a linear function in each dimension.
      25              :  *
      26              :  * Ex in 2D: \f$u^{Lin} = U_0 + U_x x + U_y y + U_{xy} xy\f$
      27              :  *
      28              :  * \warning the `gsl::not_null` variant assumes `*result` is of the correct
      29              :  * size.
      30              :  */
      31              : template <size_t Dim>
      32            1 : void linearize(gsl::not_null<DataVector*> result, const DataVector& u,
      33              :                const Mesh<Dim>& mesh);
      34              : template <size_t Dim>
      35            1 : DataVector linearize(const DataVector& u, const Mesh<Dim>& mesh);
      36              : /// @}
      37              : 
      38              : /// @{
      39              : /*!
      40              :  * \ingroup NumericalAlgorithmsGroup
      41              :  * \brief Truncate u to a linear function in the given dimension.
      42              :  *
      43              :  * **Parameters**
      44              :  * - `u` the function to linearize.
      45              :  * - `mesh` the Mesh of the grid on the manifold on which `u` is
      46              :  * located.
      47              :  * - `d` the dimension that is to be linearized.
      48              :  *
      49              :  * \warning the `gsl::not_null` variant assumes `*result` is of the correct
      50              :  * size.
      51              :  */
      52              : template <size_t Dim>
      53            1 : void linearize(gsl::not_null<DataVector*> result, const DataVector& u,
      54              :                const Mesh<Dim>& mesh, size_t d);
      55              : template <size_t Dim>
      56            1 : DataVector linearize(const DataVector& u, const Mesh<Dim>& mesh, size_t d);
      57              : /// @}
        

Generated by: LCOV version 2.0-1