SpECTRE
v2024.08.03
|
Creates the DgElementArrayMember
s 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 DgElementArrayMember
s 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 DgElementArrayMember
s themselves, since they are allowed to communicate with each other during their initialization. The reduction target is Parallel::Actions::SpawnInitializeElementsInCollection
.
Uses:
DataBox changes: