|
SpECTRE
v2025.08.19
|
A protocol for the type alias compute_vars_to_interpolate that can potentially be found in an InterpolationTargetTag (potentially because an InterpolationTargetTag does not require this type alias).
More...
#include <ComputeVarsToInterpolate.hpp>
Classes | |
| struct | test |
A protocol for the type alias compute_vars_to_interpolate that can potentially be found in an InterpolationTargetTag (potentially because an InterpolationTargetTag does not require this type alias).
A struct conforming to the ComputeVarsToInterpolate protocol must have
allowed_src_tags which is a tmpl::list of tags from the volume that can be used to compute quantities that will be interpolated onto the target.required_src_tags which is a tmpl::list of tags from the volume that are necessary to compute quantities that will be interpolated onto the target. This list must be a subset of allowed_src_tags.allowed_dest_tags<Frame> which is a tmpl::list of tags on the target that can be computed from the source tags.required_dest_tags<Frame> which is a tmpl::list of tags on the target that must be computed from the source tags. This list must be a subset of allowed_dest_tags<Frame>apply function with at least one of the signatures in the example. This apply function fills the vars_to_interpolate_to_target type alias from the InterpolationTargetTag. Here Dim is Metavariables::volume_dim, SrcFrame is the frame of Metavariables::interpolator_source_vars and TargetFrame is the frame of vars_to_interpolate_to_target from the InterpolationTargetTag. The overload without Jacobians treats the case in which TargetFrame is the same as SrcFrame.Here is an example of a class that conforms to this protocols: