SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
gh::bbh::phase_control::CheckpointAndExitIfComplete Struct Reference

If BBH completion has been requested, jump from Evolve to WriteCheckpoint, then immediately to Exit. More...

#include <CheckpointAndExitIfComplete.hpp>

Public Types

using options = tmpl::list<>
using argument_tags = tmpl::list<gh::bbh::Tags::ElementCompletionRequested>
using return_tags = tmpl::list<>
using phase_change_tags_and_combines
template<typename Metavariables>
using participating_components = typename Metavariables::component_list

Public Member Functions

template<typename... DecisionTags>
void initialize_phase_data_impl (const gsl::not_null< tuples::TaggedTuple< DecisionTags... > * > phase_change_decision_data) const
template<typename ParallelComponent, typename ArrayIndex, typename Metavariables>
void contribute_phase_data_impl (const bool element_completion_requested, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index) const
template<typename... DecisionTags, typename Metavariables>
std::optional< std::pair< Parallel::Phase, PhaseControl::ArbitrationStrategy > > arbitrate_phase_change_impl (const gsl::not_null< tuples::TaggedTuple< DecisionTags... > * > phase_change_decision_data, const Parallel::Phase current_phase, const Parallel::GlobalCache< Metavariables > &) const
void pup (PUP::er &p) override
Public Member Functions inherited from PhaseChange
 PhaseChange (CkMigrateMessage *msg)
 WRAPPED_PUPable_abstract (PhaseChange)
template<typename ParallelComponent, typename DbTags, typename Metavariables, typename ArrayIndex>
void contribute_phase_data (const gsl::not_null< db::DataBox< DbTags > * > box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index) const
 Send data from all participating_components to the Main chare for determining the next phase.
template<typename... DecisionTags, typename Metavariables>
std::optional< std::pair< Parallel::Phase, PhaseControl::ArbitrationStrategy > > arbitrate_phase_change (const gsl::not_null< tuples::TaggedTuple< DecisionTags... > * > phase_change_decision_data, const Parallel::Phase current_phase, const Parallel::GlobalCache< Metavariables > &cache) const
 Determine a phase request and PhaseControl::ArbitrationStrategy based on aggregated phase_change_decision_data on the Main Chare.
template<typename Metavariables, typename... Tags>
void initialize_phase_data (const gsl::not_null< tuples::TaggedTuple< Tags... > * > phase_change_decision_data) const
 Initialize the phase_change_decision_data on the main chare to starting values.

Static Public Member Functions

static std::string name ()

Static Public Attributes

static constexpr Options::String help

Detailed Description

If BBH completion has been requested, jump from Evolve to WriteCheckpoint, then immediately to Exit.

Details

The WriteCheckpoint phase executes checkpoint actions, typically including final volume data writes, as specified by EventsAndTriggersAtCheckpoints.

Member Typedef Documentation

◆ phase_change_tags_and_combines

using gh::bbh::phase_control::CheckpointAndExitIfComplete::phase_change_tags_and_combines
Initial value:
tmpl::list<Tags::CheckpointRequested, Tags::ExitAfterWriteCheckpoint>

Member Data Documentation

◆ help

Options::String gh::bbh::phase_control::CheckpointAndExitIfComplete::help
staticconstexpr
Initial value:
{
"When BBH completion has been requested, jump from Evolve to "
"WriteCheckpoint so all elements write final volume data at a "
"synchronized time, then jump to Exit."}

The documentation for this struct was generated from the following file:
  • src/Evolution/Systems/GeneralizedHarmonic/Bbh/PhaseControl/CheckpointAndExitIfComplete.hpp