SpECTRE
v2022.05.05
|
Submits a request for CCE boundary data at the specified time
to the Cce::InterfaceManagers::GhInterfaceManager
, and sends the data to the EvolutionComponent
(template argument) if it is ready.
More...
#include <BoundaryComputeAndSendToEvolution.hpp>
Static Public Member Functions | |
template<typename ParallelComponent , typename... DbTags, typename ArrayIndex , Requires< tmpl2::flat_any_v< std::is_same_v< ::Tags::Variables< typename Metavariables::cce_boundary_communication_tags >, DbTags >... > > = nullptr> | |
static void | apply (db::DataBox< tmpl::list< DbTags... > > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const TimeStepId &time) |
Submits a request for CCE boundary data at the specified time
to the Cce::InterfaceManagers::GhInterfaceManager
, and sends the data to the EvolutionComponent
(template argument) if it is ready.
This uses the Cce::InterfaceManagers::GhInterfaceManager
to perform all of the work of managing the buffer of data sent from the GH system and interpolating if necessary and supported. This dispatches then to Cce::Actions::SendToEvolution<GhWorldtubeBoundary<Metavariables>, EvolutionComponent>
if the boundary data is ready, otherwise simply submits the request and waits for data to become available via Cce::Actions::ReceiveGhWorldtubeData
, which will call Cce::Actions::SendToEvolution<GhWorldtubeBoundary<Metavariables>, EvolutionComponent>
as soon as the data becomes available.
DataBox changes: