SpECTRE Documentation Coverage Report
Current view: top level - ParallelAlgorithms/ApparentHorizonFinder - Component.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 10.0 % 10 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 <string>
       7              : #include <tuple>
       8              : 
       9              : #include "Parallel/Algorithms/AlgorithmSingleton.hpp"
      10              : #include "Parallel/GlobalCache.hpp"
      11              : #include "Parallel/Local.hpp"
      12              : #include "Parallel/ParallelComponentHelpers.hpp"
      13              : #include "Parallel/Phase.hpp"
      14              : #include "ParallelAlgorithms/Actions/InitializeItems.hpp"
      15              : #include "ParallelAlgorithms/Actions/TerminatePhase.hpp"
      16              : #include "ParallelAlgorithms/ApparentHorizonFinder/Initialization.hpp"
      17              : #include "ParallelAlgorithms/ApparentHorizonFinder/Protocols/HorizonMetavars.hpp"
      18              : #include "Utilities/ProtocolHelpers.hpp"
      19              : #include "Utilities/TMPL.hpp"
      20              : 
      21              : namespace ah {
      22              : /*!
      23              :  * \brief The singleton parallel component responsible for finding horizons.
      24              :  */
      25              : template <class Metavariables, typename HorizonMetavars>
      26            1 : struct Component {
      27              :   static_assert(tt::assert_conforms_to_v<HorizonMetavars,
      28              :                                          ah::protocols::HorizonMetavars>);
      29            0 :   using horizon_metavars = HorizonMetavars;
      30            0 :   using chare_type = Parallel::Algorithms::Singleton;
      31            0 :   static constexpr bool checkpoint_data = true;
      32              : 
      33            0 :   static std::string name() { return HorizonMetavars::name(); }
      34              : 
      35            0 :   using metavariables = Metavariables;
      36              : 
      37            0 :   using phase_dependent_action_list = tmpl::list<Parallel::PhaseActions<
      38              :       Parallel::Phase::Initialization,
      39              :       tmpl::list<Initialization::Actions::InitializeItems<
      40              :                      ::ah::Initialize<HorizonMetavars>>,
      41              :                  Parallel::Actions::TerminatePhase>>>;
      42              : 
      43            0 :   using simple_tags_from_options = Parallel::get_simple_tags_from_options<
      44              :       Parallel::get_initialization_actions_list<phase_dependent_action_list>>;
      45              : 
      46            0 :   static void execute_next_phase(
      47              :       const Parallel::Phase next_phase,
      48              :       Parallel::CProxy_GlobalCache<Metavariables>& global_cache) {
      49              :     auto& local_cache = *Parallel::local_branch(global_cache);
      50              :     Parallel::get_parallel_component<Component>(local_cache)
      51              :         .start_phase(next_phase);
      52              :   }
      53              : };
      54              : }  // namespace ah
        

Generated by: LCOV version 2.0-1