|
SpECTRE
v2025.08.19
|
Creates the DgElementArrayMembers on the (node)group component.
More...
#include <CreateElementCollection.hpp>
Public Types | |
| using | simple_tags = tmpl::list< Parallel::Tags::ElementCollection< Dim, Metavariables, PhaseDepActionList, SimpleTagsFromOptions >, Parallel::Tags::ElementLocations< Dim >, Tags::NumberOfElementsTerminated > |
| using | compute_tags = tmpl::list<> |
| using | const_global_cache_tags = tmpl::list<::domain::Tags::Domain< Dim >, ::domain::Tags::ElementDistribution > |
| 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: