|
DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
|
#include <ReorderPlan.hpp>
Public Member Functions | |
| void | apply (ReorderRegistry ®istry, const MPIInfo &mpi) const |
| template<class TPair > | |
| void | remapEntries (TPair &pair, EntityKind targetKind) const |
Remap entries of an adjacency array whose target kind is targetKind. | |
| template<class TPair > | |
| void | relocateRows (TPair &pair, EntityKind sourceKind, const MPIInfo &mpi) const |
Relocate rows of an array pair whose source kind is sourceKind. | |
Static Public Member Functions | |
| static ReorderPlan | build (const ReorderInput &input, const ReorderRegistry ®istry, const MPIInfo &mpi) |
Public Attributes | |
| std::unordered_map< EntityKind, PermutationTransfer > | transfers |
| Per reordered entity kind: the computed transfer. | |
| std::unordered_map< EntityKind, PermutationTransfer::LookupResult > | lookups |
| Per reordered entity kind: the old->new global lookup. | |
| std::unordered_set< EntityKind > | reorderedKinds |
| Set of entity kinds being reordered. | |
| bool | isLocalOnly {false} |
| Whether all transfers are local-only (collective agreement). | |
Standalone plan object containing all computed PermutationTransfers and LookupResults for a set of entity kinds.
After construction (via build), this object has no dependency on UnstructuredMesh. It can apply to any ReorderRegistry.
Definition at line 189 of file ReorderPlan.hpp.
| void DNDS::Geom::ReorderPlan::apply | ( | ReorderRegistry & | registry, |
| const MPIInfo & | mpi | ||
| ) | const |
Apply the plan to all entries in a registry.
Phase 1: REMAP all adj entries (target kind's lookup). Phase 2: RELOCATE all adj rows (source kind's transfer). Phase 3: RELOCATE all companions of reordered kinds.
Definition at line 169 of file Mesh_Reorder.cpp.
|
static |
Build a ReorderPlan from input + registry + MPI.
Steps:
Definition at line 101 of file Mesh_Reorder.cpp.
|
inline |
Relocate rows of an array pair whose source kind is sourceKind.
Definition at line 258 of file ReorderPlan.hpp.
|
inline |
Remap entries of an adjacency array whose target kind is targetKind.
Definition at line 240 of file ReorderPlan.hpp.
| bool DNDS::Geom::ReorderPlan::isLocalOnly {false} |
Whether all transfers are local-only (collective agreement).
Definition at line 201 of file ReorderPlan.hpp.
| std::unordered_map<EntityKind, PermutationTransfer::LookupResult> DNDS::Geom::ReorderPlan::lookups |
Per reordered entity kind: the old->new global lookup.
Definition at line 195 of file ReorderPlan.hpp.
| std::unordered_set<EntityKind> DNDS::Geom::ReorderPlan::reorderedKinds |
Set of entity kinds being reordered.
Definition at line 198 of file ReorderPlan.hpp.
| std::unordered_map<EntityKind, PermutationTransfer> DNDS::Geom::ReorderPlan::transfers |
Per reordered entity kind: the computed transfer.
Definition at line 192 of file ReorderPlan.hpp.