6 #include "Evolution/Systems/Cce/Actions/InitializeWorldtubeBoundary.hpp"
7 #include "Evolution/Systems/Cce/BoundaryData.hpp"
8 #include "Parallel/Actions/SetupDataBox.hpp"
9 #include "Parallel/Actions/TerminatePhase.hpp"
11 #include "Parallel/Invoke.hpp"
12 #include "ParallelAlgorithms/Initialization/Actions/RemoveOptionsAndTerminatePhase.hpp"
20 template <
typename WorldtubeComponent,
typename Metavariables>
23 using metavariables = Metavariables;
24 using initialize_action_list =
29 using initialization_tags =
32 using worldtube_boundary_computation_steps = tmpl::list<>;
34 using phase_dependent_action_list =
36 Metavariables::Phase::Initialization,
37 initialize_action_list>,
39 Metavariables::Phase::Evolve,
40 worldtube_boundary_computation_steps>>;
42 using const_global_cache_tag_list =
43 Parallel::detail::get_const_global_cache_tags_from_pdal<
44 phase_dependent_action_list>;
46 using options = tmpl::list<>;
48 static void initialize(Parallel::CProxy_GlobalCache<
49 Metavariables>& ) noexcept {}
51 static void execute_next_phase(
52 const typename Metavariables::Phase next_phase,
53 const Parallel::CProxy_GlobalCache<Metavariables>&
54 global_cache) noexcept {
55 auto& local_cache = *(global_cache.ckLocalBranch());
56 if (next_phase == Metavariables::Phase::Evolve) {
57 Parallel::get_parallel_component<WorldtubeComponent>(local_cache)
58 .start_phase(next_phase);
85 template <
class Metavariables>
91 using base_type::execute_next_phase;
92 using base_type::initialize;
94 using typename base_type::const_global_cache_tag_list;
95 using typename base_type::initialization_tags;
96 using typename base_type::metavariables;
97 using typename base_type::options;
98 using typename base_type::phase_dependent_action_list;
126 template <
class Metavariables>
133 using base_type::execute_next_phase;
134 using base_type::initialize;
136 using typename base_type::const_global_cache_tag_list;
137 using typename base_type::initialization_tags;
138 using typename base_type::metavariables;
139 using typename base_type::options;
140 using typename base_type::phase_dependent_action_list;
169 template <
class Metavariables>
175 using base_type::execute_next_phase;
176 using base_type::initialize;
178 using typename base_type::const_global_cache_tag_list;
179 using typename base_type::initialization_tags;
180 using typename base_type::metavariables;
181 using typename base_type::options;
182 using typename base_type::phase_dependent_action_list;