DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::Geom::ReorderRegistry Struct Reference

#include <ReorderPlan.hpp>

Collaboration diagram for DNDS::Geom::ReorderRegistry:
[legend]

Public Member Functions

void registerAdj (AdjKind kind, AdjRemapFn remap, AdjRelocateFn relocate, std::string name={})
 Register an adjacency with type-erased callbacks.
 
void registerCompanion (EntityKind kind, AdjRelocateFn fn, std::string name={})
 Register a companion with a type-erased relocate callback.
 
void registerGlobalMapping (EntityKind kind, ssp< GlobalOffsetsMapping > gm)
 Register a GlobalOffsetsMapping for an entity kind.
 
ssp< GlobalOffsetsMappinggetGlobalMapping (EntityKind kind) const
 Get a registered global mapping (nullptr if not registered).
 

Public Attributes

std::vector< AdjEntryadjs
 All adjacency entries (mesh members + external).
 
std::vector< CompanionEntrycompanions
 All companion entries (mesh members + external).
 
std::unordered_map< EntityKind, ssp< GlobalOffsetsMapping > > globalMappings
 Global offsets mappings per entity kind (for PermutationTransfer).
 
std::unordered_map< EntityKind, std::vector< index > > pullSets
 

Detailed Description

Dynamic set of arrays that participate in a reorder operation. Built by UnstructuredMesh::buildReorderRegistry() for mesh members, extended by external code (solver, evaluator) before plan application.

Definition at line 137 of file ReorderPlan.hpp.

Member Function Documentation

◆ getGlobalMapping()

ssp< GlobalOffsetsMapping > DNDS::Geom::ReorderRegistry::getGlobalMapping ( EntityKind  kind) const
inline

Get a registered global mapping (nullptr if not registered).

Definition at line 173 of file ReorderPlan.hpp.

Here is the caller graph for this function:

◆ registerAdj()

void DNDS::Geom::ReorderRegistry::registerAdj ( AdjKind  kind,
AdjRemapFn  remap,
AdjRelocateFn  relocate,
std::string  name = {} 
)
inline

Register an adjacency with type-erased callbacks.

Definition at line 154 of file ReorderPlan.hpp.

◆ registerCompanion()

void DNDS::Geom::ReorderRegistry::registerCompanion ( EntityKind  kind,
AdjRelocateFn  fn,
std::string  name = {} 
)
inline

Register a companion with a type-erased relocate callback.

Definition at line 161 of file ReorderPlan.hpp.

◆ registerGlobalMapping()

void DNDS::Geom::ReorderRegistry::registerGlobalMapping ( EntityKind  kind,
ssp< GlobalOffsetsMapping gm 
)
inline

Register a GlobalOffsetsMapping for an entity kind.

Definition at line 167 of file ReorderPlan.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ adjs

std::vector<AdjEntry> DNDS::Geom::ReorderRegistry::adjs

All adjacency entries (mesh members + external).

Definition at line 140 of file ReorderPlan.hpp.

◆ companions

std::vector<CompanionEntry> DNDS::Geom::ReorderRegistry::companions

All companion entries (mesh members + external).

Definition at line 143 of file ReorderPlan.hpp.

◆ globalMappings

std::unordered_map<EntityKind, ssp<GlobalOffsetsMapping> > DNDS::Geom::ReorderRegistry::globalMappings

Global offsets mappings per entity kind (for PermutationTransfer).

Definition at line 146 of file ReorderPlan.hpp.

◆ pullSets

std::unordered_map<EntityKind, std::vector<index> > DNDS::Geom::ReorderRegistry::pullSets

Pre-collected pull sets per entity kind: off-rank globals that adj entries reference as targets. Populated by buildReorderRegistry or by the caller before ReorderPlan::build.

Definition at line 151 of file ReorderPlan.hpp.


The documentation for this struct was generated from the following file: