Sends points to an Interpolator for verified temporal_ids.
More...
#include <VerifyTemporalIdsAndSendPoints.hpp>
|
template<typename ParallelComponent , typename DbTags , typename Metavariables , typename ArrayIndex > |
static void | apply (db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index) |
|
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:
- Adds: nothing
- Removes: nothing
- Modifies:
For requirements on InterpolationTargetTag, see InterpolationTarget
The documentation for this struct was generated from the following file:
- src/ParallelAlgorithms/Interpolation/Actions/VerifyTemporalIdsAndSendPoints.hpp