SpECTRE  v2024.03.19
intrp::Actions::RegisterElementWithInterpolator Struct Reference

Invoked on DgElementArray to register all its elements with the Interpolator. More...

#include <InterpolatorRegisterElement.hpp>

Static Public Member Functions

template<typename ParallelComponent , typename DbTagList , typename Metavariables , typename ArrayIndex >
static void perform_registration (const db::DataBox< DbTagList > &, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index)
 
template<typename ParallelComponent , typename DbTagList , typename Metavariables , typename ArrayIndex >
static void perform_deregistration (const db::DataBox< DbTagList > &, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index)
 
template<typename DbTagList , typename... InboxTags, typename Metavariables , typename ArrayIndex , typename ActionList , typename ParallelComponent >
static Parallel::iterable_action_return_t apply (db::DataBox< DbTagList > &box, const tuples::TaggedTuple< InboxTags... > &, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ActionList, const ParallelComponent *const)
 

Detailed Description

Invoked on DgElementArray to register all its elements with the Interpolator.

Uses: nothing

DataBox changes:

  • Adds: nothing
  • Removes: nothing
  • Modifies: nothing

When this struct is used as an action, the apply function will perform the registration with the interpolator. However, this struct also offers the static member functions perform_registration and perform_deregistration that are needed for either registering when an element is added to a core outside of initialization or deregistering when an element is being eliminated from a core. The use of separate functions is necessary to provide an interface usable outside of iterable actions, e.g. in specialized pup functions.


The documentation for this struct was generated from the following file: