SpECTRE
v2024.08.03
|
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: