ParallelComponent representing a set of points to be interpolated to and a function to call upon interpolation to those points. More...
#include <InterpolationTarget.hpp>
Public Types | |
using | chare_type = ::Parallel::Algorithms::Singleton |
using | metavariables = Metavariables |
using | action_list = tmpl::list<> |
using | initial_databox = db::compute_databox_type< typename Actions::InitializeInterpolationTarget< InterpolationTargetTag >::template return_tag_list< Metavariables > > |
using | options = tmpl::list<::OptionTags::DomainCreator< Metavariables::domain_dim, typename Metavariables::domain_frame > > |
using | const_global_cache_tag_list = Parallel::get_const_global_cache_tags< tmpl::list< typename InterpolationTargetTag::compute_target_points, typename InterpolationTargetTag::post_interpolation_callback > > |
Static Public Member Functions | |
static void | initialize (Parallel::CProxy_ConstGlobalCache< metavariables > &global_cache, std::unique_ptr< DomainCreator< Metavariables::domain_dim, typename Metavariables::domain_frame >> domain_creator) noexcept |
static void | execute_next_phase (typename metavariables::Phase, const Parallel::CProxy_ConstGlobalCache< metavariables > &) noexcept |
ParallelComponent representing a set of points to be interpolated to and a function to call upon interpolation to those points.
Each InterpolationTarget will communicate with the Interpolator
.
InterpolationTargetTag
must contain the following type aliases:
tmpl::list
of tags describing variables to interpolate. Will be used to construct a Variables
.tmpl::list
of compute items that uses Metavariables::interpolator_source_vars
as input and computes the Variables
defined by vars_to_interpolate_to_target
.tmpl::list
of compute items that uses vars_to_interpolate_to_target
as input.simple_action
of InterpolationTarget
that computes the target points and sends them to Interpolators
. It takes a temporal_id
as an extra argument. compute_target_points
can (optionally) have an additional function DataBox
when the InterpolationTarget
is initialized. If compute_target_points
has an initialize
function, it must also have a type alias initialization_tags
which is a tmpl::list
of the tags that are added by initialize
.const_global_cache_tags
(listing tags that should be read from option parsing) and with a static function DbTags
includes everything in vars_to_interpolate_to_target
, plus everything in compute_items_on_target
. The second form of the apply
function should return false only if it calls another intrp::Action
that still needs the volume data at this temporal_id (such as another iteration of the horizon finder).Metavariables
must contain the following type aliases:
tmpl::list
of tags that define a Variables
sent from all Element
s to the local Interpolator
.tmpl::list
of all InterpolationTargetTag
s.Frame
of the Domain. Metavariables
must contain the following static constexpr members: