|
SpECTRE
v2026.04.01
|
Creates the DgElementArrayMembers on the (node)group component. More...
#include <CreateElementCollection.hpp>
Public Types | |
| using | simple_tags |
| using | compute_tags = tmpl::list<> |
| using | const_global_cache_tags |
| using | return_tag_list = tmpl::append<simple_tags, compute_tags> |
Static Public Member Functions | |
| template<typename DbTagsList, typename... InboxTags, typename ArrayIndex, typename ActionList, typename ParallelComponent> | |
| static Parallel::iterable_action_return_t | apply (db::DataBox< DbTagsList > &box, const tuples::TaggedTuple< InboxTags... > &, Parallel::GlobalCache< Metavariables > &local_cache, const ArrayIndex &, const ActionList, const ParallelComponent *const) |
Creates the DgElementArrayMembers on the (node)group component.
First the distribution of elements is computed using Parallel::create_elements_using_distribution(), they are inserted on each (node)group element. A reduction is done over the (node)group before initializing the DgElementArrayMembers themselves, since they are allowed to communicate with each other during their initialization. The reduction target is Parallel::Actions::SpawnInitializeElementsInCollection.
Uses:
DataBox changes:
| using Parallel::Actions::CreateElementCollection< Dim, Metavariables, PhaseDepActionList, SimpleTagsFromOptions >::const_global_cache_tags |
| using Parallel::Actions::CreateElementCollection< Dim, Metavariables, PhaseDepActionList, SimpleTagsFromOptions >::simple_tags |