SpECTRE  v2025.08.19
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 = tmpl::list< Tags::CheckpointRequested, Tags::ExitAfterWriteCheckpoint >
 
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 Data Documentation

◆ help

constexpr 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: