std::vector< _Type, _Alloc > CepsVector
C++ vector.
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
Class is used to compute a geometry (multiple meshes) partitioning.
Encapsulates all the geometrical data.
Geometry partitioning with PtScotch.
CepsVector< CepsInt > nodePartitioning()
Compute a Partitioning using Scotch on the primal graph GeomNode,.
PtscotchPartitioner()=delete
no default constructor
~PtscotchPartitioner() override=default
Destructor.
CepsUInt computePartition() override
Calls the partitioning method specified in the Geometry.
void buildCellPartitionMap(CepsVector< CepsInt > &nodeOwnership)
Gives new labels to cell such that they are grouped on each cpu.
void removeFalseDuplicates(CepsVector< CepsInt > &nodeOwnership)
Internal routine that removes the nodes prev. added for multiple unknowns per node.
void buildDualGraph(CepsVector< CepsInt > &verttab, CepsVector< CepsInt > &edgetab)
Convert a graph from elements (nodeIndicesOffset,nodeIndices) to a GeomNode graph in Scotch format.
void restrictCoupledNodesToLocal()
Keep only coupled nodes local to the cpu.