SpECTRE  v2024.04.12
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 >
static void apply (db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, 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, const bool vars_have_already_been_received=false)
 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

  • Checks if functions of time are ready (if there are any). If they are not ready, register a simple action callback with the GlobalCache to this action.
  • Calls InterpolationTargetTag::post_interpolation_callbacks
  • 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


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