SpECTRE Documentation Coverage Report
Current view: top level - Domain/Creators/TimeDependence - None.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 33.3 % 18 6
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 <memory>
       8              : #include <string>
       9              : #include <unordered_map>
      10              : #include <vector>
      11              : 
      12              : #include "Domain/CoordinateMaps/CoordinateMap.hpp"
      13              : #include "Domain/Creators/TimeDependence/TimeDependence.hpp"
      14              : #include "Options/String.hpp"
      15              : #include "Utilities/TMPL.hpp"
      16              : 
      17              : /// \cond
      18              : namespace domain::FunctionsOfTime {
      19              : class FunctionOfTime;
      20              : }  // namespace domain::FunctionsOfTime
      21              : 
      22              : namespace Frame {
      23              : struct Distorted;
      24              : struct Grid;
      25              : struct Inertial;
      26              : }  // namespace Frame
      27              : /// \endcond
      28              : 
      29              : namespace domain::creators::time_dependence {
      30              : /// \brief Make the mesh time independent so that it isn't moving.
      31              : ///
      32              : /// \warning Calling the `block_maps` functions causes an error because the
      33              : /// `None` class should be detected separately and optimizations applied so that
      34              : /// the coordinates, Jacobians, etc. are not recomputed.
      35              : template <size_t MeshDim>
      36            1 : class None final : public TimeDependence<MeshDim> {
      37              :  public:
      38            0 :   using maps_list = tmpl::list<>;
      39            0 :   using options = tmpl::list<>;
      40              : 
      41            0 :   static constexpr Options::String help = {
      42              :       "No time dependence in the in grid."};
      43              : 
      44            0 :   None() = default;
      45            0 :   ~None() override = default;
      46            0 :   None(const None&) = default;
      47            0 :   None(None&&) = default;
      48            0 :   None& operator=(const None&) = default;
      49            0 :   None& operator=(None&&) = default;
      50              : 
      51            1 :   auto get_clone() const -> std::unique_ptr<TimeDependence<MeshDim>> override;
      52              : 
      53            1 :   [[noreturn]] auto block_maps_grid_to_inertial(size_t number_of_blocks) const
      54              :       -> std::vector<std::unique_ptr<domain::CoordinateMapBase<
      55              :           Frame::Grid, Frame::Inertial, MeshDim>>> override;
      56              : 
      57            1 :   [[noreturn]] auto block_maps_grid_to_distorted(size_t number_of_blocks) const
      58              :       -> std::vector<std::unique_ptr<domain::CoordinateMapBase<
      59              :           Frame::Grid, Frame::Distorted, MeshDim>>> override;
      60              : 
      61            1 :   [[noreturn]] auto block_maps_distorted_to_inertial(size_t number_of_blocks)
      62              :       const -> std::vector<std::unique_ptr<domain::CoordinateMapBase<
      63              :           Frame::Distorted, Frame::Inertial, MeshDim>>> override;
      64              : 
      65            1 :   auto functions_of_time(const std::unordered_map<std::string, double>&
      66              :                              initial_expiration_times = {}) const
      67              :       -> std::unordered_map<
      68              :           std::string,
      69              :           std::unique_ptr<domain::FunctionsOfTime::FunctionOfTime>> override;
      70              : };
      71              : 
      72              : template <size_t Dim>
      73            0 : bool operator==(const None<Dim>& lhs, const None<Dim>& rhs);
      74              : 
      75              : template <size_t Dim>
      76            0 : bool operator!=(const None<Dim>& lhs, const None<Dim>& rhs);
      77              : }  // namespace domain::creators::time_dependence
        

Generated by: LCOV version 2.0-1