SpECTRE  2021.08.02
intrp::Actions::InterpolationTargetReceiveVars< InterpolationTargetTag > Struct Template Reference

Receives interpolated variables from an Interpolator on a subset of the target points. More...

#include <InterpolationTargetReceiveVars.hpp>

Static Public Member Functions

template<typename ParallelComponent , typename DbTags , typename Metavariables , typename ArrayIndex , typename TemporalId , Requires< tmpl::list_contains_v< DbTags, Tags::TemporalIds< TemporalId > > > = nullptr>
static void apply (db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const std::vector< Variables< typename InterpolationTargetTag::vars_to_interpolate_to_target > > &vars_src, const std::vector< std::vector< size_t > > &global_offsets, const TemporalId &temporal_id) noexcept
 For requirements on Metavariables, see InterpolationTarget.
 

Detailed Description

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

Receives interpolated variables from an Interpolator on a subset of the target points.

If interpolated variables for all target points have been received, then

  • Calls InterpolationTargetTag::post_interpolation_callback
  • Tells Interpolators that the interpolation is complete (by calling Actions::CleanUpInterpolator<InterpolationTargetTag>)
  • Removes the first temporal_id from Tags::TemporalIds<TemporalId>
  • If there are more temporal_ids, begins interpolation at the next temporal_id (by calling InterpolationTargetTag::compute_target_points)

Uses:

DataBox changes:

For requirements on InterpolationTargetTag, see InterpolationTarget