SpECTRE Documentation Coverage Report
Current view: top level - NumericalAlgorithms/FiniteDifference - NonUniform1D.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 50.0 % 2 1
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 <array>
       7              : #include <cstddef>
       8              : #include <deque>
       9              : 
      10              : namespace fd {
      11              : /*!
      12              :  * \ingroup FiniteDifferenceGroup
      13              :  * \brief Returns the weights for a 1D non-uniform finite difference stencil.
      14              :  *
      15              :  * These weights are for the Lagrange interpolation polynomial and its
      16              :  * derivatives evaluated at `times[0]`. If the number of times is not the same
      17              :  * as `StencilSize`, then an error will occur.
      18              :  *
      19              :  * The reason that `times` was chosen to be monotonically decreasing is because
      20              :  * the intended use of this function is with data that is stored in a
      21              :  * `std::deque` where the zeroth element is the "most recent" in time and then
      22              :  * later elements are further in the "past".
      23              :  *
      24              :  * \param times A monotonically *decreasing* sequence of times
      25              :  * \return A 2D array of all finite difference weights that correspond to the
      26              :  * input times. The outer dimension is the Nth derivative, and the inner
      27              :  * dimension loops over the weights for each of the times.
      28              :  *
      29              :  * \note Only stencil sizes 2, 3, and 4 are implemented right now. If you need
      30              :  * more, you'll either need to add it yourself or generalize the algorithm.
      31              :  */
      32              : template <size_t StencilSize>
      33            1 : std::array<std::array<double, StencilSize>, StencilSize> non_uniform_1d_weights(
      34              :     const std::deque<double>& times);
      35              : }  // namespace fd
        

Generated by: LCOV version 2.0-1