SpECTRE  v2024.09.29
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. More...
 

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>
static 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: