SpECTRE Documentation Coverage Report
Current view: top level - NumericalAlgorithms/Strahlkorper/IO - ReadSurfaceYlm.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 66.7 % 3 2
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 <cstddef>
       7              : #include <string>
       8              : #include <vector>
       9              : 
      10              : #include "NumericalAlgorithms/Strahlkorper/Strahlkorper.hpp"
      11              : 
      12              : namespace ylm {
      13              : /// \ingroup SurfacesGroup
      14              : /// \brief Returns a list of `ylm::Strahlkorper`s constructed from reading in
      15              : /// spherical harmonic data for a surface at a requested list of times
      16              : ///
      17              : /// \details The `ylm::Strahlkorper`s are constructed by reading in data from
      18              : /// an H5 subfile that is expected to be in the format described by
      19              : /// `intrp::callbacks::ObserveSurfaceData`. It is assumed that
      20              : /// \f$l_{max} = m_{max}\f$.
      21              : ///
      22              : /// \param file_name name of the H5 file containing the surface's spherical
      23              : /// harmonic data
      24              : /// \param surface_subfile_name name of the subfile (with no leading slash nor
      25              : /// the `.dat` extension) within `file_name` that contains the surface's
      26              : /// spherical harmonic data to read in
      27              : /// \param requested_number_of_times_from_end the number of times to read in
      28              : /// starting backwards from the final time found in `surface_subfile_name`
      29              : template <typename Frame>
      30            1 : std::vector<ylm::Strahlkorper<Frame>> read_surface_ylm(
      31              :     const std::string& file_name, const std::string& surface_subfile_name,
      32              :     size_t requested_number_of_times_from_end);
      33              : 
      34              : /*!
      35              :  * \brief Similar to `ylm::read_surface_ylm`, this reads in spherical harmonic
      36              :  * data for a surface and constructs a `ylm::Strahlkorper`. However, this
      37              :  * function only does it at a specific time and returns a single
      38              :  * `ylm::Strahlkorper`.
      39              :  *
      40              :  * \note If two times are found within \p epsilon of the \p time, then an error
      41              :  * will occur. Similarly, if no \p time is found within the \p epsilon, then an
      42              :  * error will occur as well.
      43              :  *
      44              :  * \param file_name name of the H5 file containing the surface's spherical
      45              :  * harmonic data
      46              :  * \param surface_subfile_name name of the subfile (with no leading slash nor
      47              :  * the `.dat` extension) within `file_name` that contains the surface's
      48              :  * spherical harmonic data to read in
      49              :  * \param time Time to read the coefficients at.
      50              :  * \param relative_epsilon How much error is allowed when looking for a specific
      51              :  * time. This is useful so users don't have to know the specific time to machine
      52              :  * precision.
      53              :  * \param check_frame Whether to check the frame in the subfile or not.
      54              :  */
      55              : template <typename Frame>
      56            1 : ylm::Strahlkorper<Frame> read_surface_ylm_single_time(
      57              :     const std::string& file_name, const std::string& surface_subfile_name,
      58              :     double time, double relative_epsilon, bool check_frame = true);
      59              : }  // namespace ylm
        

Generated by: LCOV version 2.0-1