SpECTRE  v2024.04.12
PhaseControl::Actions::ExecutePhaseChange Struct Reference

Check if any triggers are activated, and perform phase changes as needed. More...

#include <ExecutePhaseChange.hpp>

Public Types

using const_global_cache_tags = tmpl::list< PhaseControl::Tags::PhaseChangeAndTriggers >
 

Static Public Member Functions

template<typename DbTags , typename... InboxTags, typename Metavariables , typename ArrayIndex , typename ActionList , typename ParallelComponent >
static Parallel::iterable_action_return_t apply (db::DataBox< DbTags > &box, const tuples::TaggedTuple< InboxTags... > &, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ActionList, const ParallelComponent *const)
 

Detailed Description

Check if any triggers are activated, and perform phase changes as needed.

This action is intended to be executed on every component that repeatedly runs iterable actions that would need to halt during a phase change. This action sends data to the Main chare via a reduction.

This action iterates over the Tags::PhaseChangeAndTriggers, sending reduction data for the phase decision for each triggered PhaseChange, then halts the algorithm execution so that the Main chare can make a phase decision if any were triggered.

Uses:


The documentation for this struct was generated from the following file: