SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
intrp::Actions::VerifyTemporalIdsAndSendPoints< InterpolationTargetTag > Struct Template Reference

Sends points to an Interpolator for verified temporal_ids. More...

#include <VerifyTemporalIdsAndSendPoints.hpp>

Static Public Member Functions

template<typename ParallelComponent , typename DbTags , typename Metavariables , typename ArrayIndex >
static void apply (db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index)
 

Detailed Description

template<typename InterpolationTargetTag>
struct intrp::Actions::VerifyTemporalIdsAndSendPoints< InterpolationTargetTag >

Sends points to an Interpolator for verified temporal_ids.

VerifyTemporalIdsAndSendPoints is invoked on an InterpolationTarget.

In more detail, does the following:

  • If any map is time-dependent:
    • If there is a CurrentTemporalId or no PendingTemporalIds, does nothing
    • If any map is time-dependent: Moves first verified PendingTemporalId to CurrentTemporalId, where verified means that the FunctionsOfTime in the GlobalCache are up-to-date for that TemporalId. If no PendingTemporalIds are moved, then VerifyTemporalIdsAndSendPoints sets itself as a callback in the GlobalCache so that it is called again when the FunctionsOfTime are mutated.
    • If maps are time-independent: Verified means just the first id in PendingTemporalIds
    • If the temporal id type is a LinkedMessageId, determines if this verified id is in order. If it isn't, then this just returns and does nothing
    • Calls intrp::Actions::SendPointsToInterpolator directly for this verified TemporalId. (when interpolation is complete, intrp::Actions::InterpolationTargetReceiveVars will begin interpolation on the next verified Id)

Uses:

DataBox changes:

For requirements on InterpolationTargetTag, see InterpolationTarget


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