|
SpECTRE
v2025.08.19
|
A protocol for InterpolationTargetTags that are used in the intrp::InterpolationTarget parallel component.
More...
#include <InterpolationTargetTag.hpp>
Classes | |
| struct | test |
A protocol for InterpolationTargetTags that are used in the intrp::InterpolationTarget parallel component.
A struct conforming to the InterpolationTargetTag protocol must have
temporal_id to a tag that tells the interpolation target what values of time to use (for example, Tags::Time).vars_to_interpolate_to_target which is a tmpl::list of tags describing variables to interpolate. Will be used to construct a Variables.compute_items_on_target which is a tmpl::list of compute items that uses vars_to_interpolate_to_target as input.compute_target_points that conforms to the intrp::protocols::ComputeTargetPoints protocol. This will compute the points on the surface that we are interpolating onto.post_interpolation_callbacks which is a tmpl::list where every element of that list conforms to the intrp::protocols::PostInterpolationCallback protocol. Only one callback with the signature with gsl::not_null for both the DataBox and GlobalCache (see intrp::protocols::PostInterpolationCallback) is allowed in this list. Furthermore, if a callback with this signature is in the list, it must also be the only callback in the list. After the interpolation is complete, call this struct's apply function.A struct conforming to this protocol can also optionally have
compute_vars_to_interpolate that conforms to the intrp::protocols::ComputeVarsToInterpolate protocol. This is a struct that computes quantities in the volume that are required to compute different quantities on the surface we are interpolating to.interpolating_component to the parallel component that will be interpolating to the interpolation target. Only needed when not using the Interpolator ParallelComponent.An example of a struct that conforms to this protocol is