SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Initialization - InitialData.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 33.3 % 3 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 <utility>
       7              : 
       8              : #include "Evolution/TypeTraits.hpp"
       9              : #include "PointwiseFunctions/AnalyticData/AnalyticData.hpp"
      10              : #include "PointwiseFunctions/AnalyticSolutions/AnalyticSolution.hpp"
      11              : #include "Utilities/Requires.hpp"
      12              : #include "Utilities/TMPL.hpp"
      13              : 
      14            0 : namespace evolution::Initialization {
      15              : /// Extract initial data either from analytic data or from an analytic
      16              : /// solution at a specified time.
      17              : template <typename SolutionOrData, typename Coordinates, typename... Tags,
      18              :           Requires<is_analytic_solution_v<SolutionOrData>> = nullptr>
      19            1 : decltype(auto) initial_data(const SolutionOrData& solution_or_data,
      20              :                             Coordinates&& coordinates, const double time,
      21              :                             const tmpl::list<Tags...> tags) {
      22              :   return solution_or_data.variables(std::forward<Coordinates>(coordinates),
      23              :                                     time, tags);
      24              : }
      25              : 
      26              : /// \cond
      27              : template <typename SolutionOrData, typename Coordinates, typename... Tags,
      28              :           Requires<is_analytic_data_v<SolutionOrData> or
      29              :                    is_numeric_initial_data_v<SolutionOrData>> = nullptr>
      30              : decltype(auto) initial_data(const SolutionOrData& solution_or_data,
      31              :                             Coordinates&& coordinates, const double /*time*/,
      32              :                             const tmpl::list<Tags...> tags) {
      33              :   return solution_or_data.variables(std::forward<Coordinates>(coordinates),
      34              :                                     tags);
      35              : }
      36              : /// \endcond
      37              : }  // namespace evolution::Initialization
        

Generated by: LCOV version 2.0-1