SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Parallel::Actions::PerformAlgorithmOnElement< Block > Struct Template Reference

A threaded action that calls perform_algorithm() for a specified element on the nodegroup. More...

#include <PerformAlgorithmOnElement.hpp>

Static Public Member Functions

template<typename ParallelComponent, typename DbTagsList, typename Metavariables, typename ArrayIndex, typename DistributedObject, size_t Dim>
static void apply (db::DataBox< DbTagsList > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const gsl::not_null< Parallel::NodeLock * >, const DistributedObject *, const ElementId< Dim > &element_to_execute_on)
 Invoke perform_algorithm() on a single element.
template<typename ParallelComponent, typename DbTagsList, typename Metavariables, typename ArrayIndex, typename DistributedObject, size_t Dim>
static void apply (db::DataBox< DbTagsList > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const gsl::not_null< Parallel::NodeLock * >, const DistributedObject *)
 Invoke perform_algorithm() on all elements.

Detailed Description

template<bool Block>
struct Parallel::Actions::PerformAlgorithmOnElement< Block >

A threaded action that calls perform_algorithm() for a specified element on the nodegroup.

If Block is true then the action will wait until the element is free to be operated on. If it is false then a message will be sent to the nodegroup to try invoking the element again.

This is a threaded action intended to be run on the DG nodegroup.

Member Function Documentation

◆ apply()

template<bool Block>
template<typename ParallelComponent, typename DbTagsList, typename Metavariables, typename ArrayIndex, typename DistributedObject, size_t Dim>
void Parallel::Actions::PerformAlgorithmOnElement< Block >::apply ( db::DataBox< DbTagsList > & box,
Parallel::GlobalCache< Metavariables > & cache,
const ArrayIndex & ,
const gsl::not_null< Parallel::NodeLock * > ,
const DistributedObject *  )
inlinestatic

Invoke perform_algorithm() on all elements.

Note
This loops over all elements and spawns a message for each element.

The documentation for this struct was generated from the following file:
  • src/Parallel/ArrayCollection/PerformAlgorithmOnElement.hpp