SpECTRE Documentation Coverage Report
Current view: top level - NumericalAlgorithms/SphericalHarmonics - ChangeCenterOfStrahlkorper.hpp Hit Total Coverage
Commit: 1d64892952139ddfbae7cdbdcd87dce73af8d9fe Lines: 2 3 66.7 %
Date: 2025-12-12 21:49:13
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 <limits>
       8             : 
       9             : /// \cond
      10             : namespace ylm {
      11             : template <typename Frame>
      12             : class Strahlkorper;
      13             : }  // namespace ylm
      14             : namespace gsl {
      15             : template <typename T>
      16             : class not_null;
      17             : }  // namespace gsl
      18             : /// \endcond
      19             : 
      20             : namespace ylm {
      21             : /// Changes the expansion center of a Strahlkorper, where the
      22             : /// expansion center is defined as the point about which the spectral
      23             : /// basis of the Strahlkorper is expanded, which is the quantity
      24             : /// returned by `Strahlkorper::expansion_center()`.
      25             : template <typename Frame>
      26           1 : void change_expansion_center_of_strahlkorper(
      27             :     gsl::not_null<Strahlkorper<Frame>*> strahlkorper,
      28             :     const std::array<double, 3>& new_center);
      29             : 
      30             : /// Changes the expansion center of a Strahlkorper to the physical
      31             : /// center.  Because `Strahlkorper::physical_center()` returns only an
      32             : /// approximate quantity,
      33             : /// `change_expansion_center_of_strahlkorper_to_physical` is
      34             : /// iterative, and does not return exactly the same result as passing
      35             : /// `Strahlkorper::physical_center()` to
      36             : /// `change_expansion_center_of_strahlkorper`.
      37             : template <typename Frame>
      38           1 : void change_expansion_center_of_strahlkorper_to_physical(
      39             :     gsl::not_null<Strahlkorper<Frame>*> strahlkorper,
      40             :     double relative_tolerance = 2.0 * std::numeric_limits<double>::epsilon());
      41             : }  // namespace ylm

Generated by: LCOV version 1.14