SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Initialization - InitialData.hpp Hit Total Coverage
Commit: 3c072f0ce967e2e56649d3fa12aa2a0e4fe2a42e Lines: 1 3 33.3 %
Date: 2024-04-23 20:50:18
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 1.14