12 #include "NumericalAlgorithms/Interpolation/InterpolationTargetDetail.hpp"
13 #include "NumericalAlgorithms/Interpolation/Tags.hpp"
19 template <
typename Metavariables>
59 template <
typename InterpolationTargetTag>
63 typename ParallelComponent,
typename DbTags,
typename Metavariables,
64 typename ArrayIndex,
typename TemporalId,
68 db::DataBox<DbTags>& box,
72 typename InterpolationTargetTag::vars_to_interpolate_to_target>>&
75 const TemporalId& temporal_id) noexcept {
77 not InterpolationTargetTag::compute_target_points::is_sequential::value,
78 "Use InterpolationTargetGetVarsFromElement only with non-sequential"
79 " compute_target_points");
88 if (not InterpolationTarget_detail::flag_temporal_ids_for_interpolation<
92 InterpolationTarget_detail::set_up_interpolation<InterpolationTargetTag>(
94 InterpolationTarget_detail::block_logical_coords<
95 InterpolationTargetTag>(box, tmpl::type_<Metavariables>{}));
98 InterpolationTarget_detail::add_received_variables<InterpolationTargetTag>(
101 if (InterpolationTarget_detail::have_data_at_all_points<
102 InterpolationTargetTag>(box, temporal_id)) {
107 InterpolationTarget_detail::call_callback<InterpolationTargetTag>(
109 InterpolationTarget_detail::clean_up_interpolation_target<