SpECTRE
v2025.03.17
|
Receives target points from an InterpolationTarget. More...
#include <InterpolatorReceivePoints.hpp>
Static Public Member Functions | |
template<typename ParallelComponent , typename DbTags , typename Metavariables , typename ArrayIndex , size_t VolumeDim> | |
static void | apply (db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const typename InterpolationTargetTag::temporal_id::type &temporal_id, std::vector< BlockLogicalCoords< VolumeDim > > &&block_logical_coords, const size_t iteration=0_st) |
Receives target points from an InterpolationTarget.
After receiving the points, interpolates volume data onto them if it already has all the volume data.
The iteration
parameter is used to order receives of block_logical_coords
. Because of the asynchronous nature of communication, it is possible that a more recent set of points arrives before an older set. It is assumed that if a more recent set arrives, then the old set is no longer needed. This iteration
parameter tags each communication as "more
recent" or "older" so if we receive an older set of points after a more recent set, we don't overwrite the more recent set.
Uses:
Tags::NumberOfElements
Tags::InterpolatedVarsHolders<Metavariables>
Tags::VolumeVarsInfo<Metavariables>
DataBox changes:
Tags::InterpolatedVarsHolders<Metavariables>
For requirements on InterpolationTargetTag, see InterpolationTarget