SpECTRE
v2025.03.17
|
A protocol for InterpolationTargetTag
s that are used in the intrp::InterpolationTarget parallel component.
More...
#include <InterpolationTargetTag.hpp>
Classes | |
struct | test |
A protocol for InterpolationTargetTag
s 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