DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
ReorderPlan.hpp File Reference

Distributed entity reordering framework: ReorderRegistry, ReorderPlan, ReorderInput. More...

#include "DNDS/PermutationTransfer.hpp"
#include "MeshConnectivity.hpp"
#include <functional>
#include <string>
#include <unordered_map>
#include <unordered_set>
Include dependency graph for ReorderPlan.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DNDS::Geom::EntityReorderMap
 Per-entity reorder specification: where each owned entity goes. More...
 
struct  DNDS::Geom::FollowSpec
 
struct  DNDS::Geom::ReorderInput
 Input to the reorder framework. More...
 
struct  DNDS::Geom::AdjEntry
 One registered adjacency entry. More...
 
struct  DNDS::Geom::CompanionEntry
 One registered companion entry. More...
 
struct  DNDS::Geom::ReorderRegistry
 
struct  DNDS::Geom::ReorderPlan
 

Namespaces

namespace  DNDS
 the host side operators are provided as implemented
 
namespace  DNDS::Geom
 

Typedefs

using DNDS::Geom::AdjRemapFn = std::function< void(const PermutationTransfer::LookupResult &lookup)>
 Callback invoked during REMAP phase for an adjacency array.
 
using DNDS::Geom::AdjRelocateFn = std::function< void(const PermutationTransfer &transfer, const MPIInfo &mpi)>
 Callback invoked during RELOCATE phase for an adjacency or companion array.
 

Enumerations

enum class  DNDS::Geom::AdjAction {
  DNDS::Geom::SKIP , DNDS::Geom::RELOCATE , DNDS::Geom::REMAP , DNDS::Geom::RELOCATE_REMAP ,
  DNDS::Geom::SELF
}
 Action to take on an adjacency during reorder. More...
 

Functions

AdjAction DNDS::Geom::classifyAdj (AdjKind adj, const std::unordered_set< EntityKind > &reorderedKinds)
 Classify an adjacency given the set of reordered entity kinds.
 

Detailed Description

Distributed entity reordering framework: ReorderRegistry, ReorderPlan, ReorderInput.

Two-layer architecture:

  • ReorderRegistry: dynamic set of callbacks (adj remap/relocate + companion relocate)
  • ReorderPlan: standalone computed transfers + lookups, applies via callbacks

UnstructuredMesh provides buildReorderRegistry() and ReorderEntities() convenience methods.

Definition in file ReorderPlan.hpp.