PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
pbat::graph::PartitioningOptions Struct Reference

Options for graph partitioning. More...

#include <Partition.h>

Public Types

enum class  EObjective { Default , MinEdgeCut , MinCommunicationVolume }
 Objective function for partitioning. More...
 
enum class  ECoarseningStrategy { Default , RandomMatching , SortedHeavyEdgeMatching }
 Coarsening strategy. More...
 
enum class  EInitialPartitioningStrategy {
  Default , GreedyBisectionGrowing , RandomBisectionAndRefinement , EdgeCutSeparator ,
  GreedyNodeBisectionGrowing
}
 Initial partitioning strategy. More...
 
enum class  ERefinementStrategy {
  Default , FiducciaMattheyses , GreedyCutAndVolumeRefinement , TwoSidedNodeFiducciaMattheyses ,
  OneSidedNodeFiducciaMattheyses
}
 Refinement strategy. More...
 

Public Attributes

enum pbat::graph::PartitioningOptions::EObjective Default
 Objective function for partitioning.
 
enum pbat::graph::PartitioningOptions::ECoarseningStrategy Default
 Coarsening strategy.
 
enum pbat::graph::PartitioningOptions::EInitialPartitioningStrategy Default
 Initial partitioning strategy.
 
enum pbat::graph::PartitioningOptions::ERefinementStrategy Default
 Refinement strategy.
 
int nPartitioningTrials {1}
 Number of partitioning trials.
 
int nSeparators {1}
 Number of separators.
 
int nRefinementIters {10}
 Number of refinement iterations.
 
int rngSeed {0}
 Random number generator seed.
 
bool bMinimizeSupernodalGraphDegree {false}
 Minimize supernodal graph degree.
 
bool bPerform2HopMatching {true}
 Perform 2-hop matching.
 
bool bEnforceContiguousPartitions {false}
 Enforce contiguous partitions.
 
bool bIdentifyConnectedComponents {false}
 Identify connected components.
 

Detailed Description

Options for graph partitioning.

Refer to METIS manual for more details on each option.

Member Enumeration Documentation

◆ ECoarseningStrategy

Coarsening strategy.

Enumerator
Default 

Default coarsening strategy.

RandomMatching 

Random matching.

SortedHeavyEdgeMatching 

Sorted heavy edge matching.

◆ EInitialPartitioningStrategy

Initial partitioning strategy.

Enumerator
Default 

Default initial partitioning strategy.

GreedyBisectionGrowing 

Greedy bisection growing.

RandomBisectionAndRefinement 

Random bisection and refinement.

EdgeCutSeparator 

Edge cut separator.

GreedyNodeBisectionGrowing 

Greedy node bisection growing.

◆ EObjective

Objective function for partitioning.

Enumerator
Default 

Default objective function.

MinEdgeCut 

Minimize edge cut.

MinCommunicationVolume 

Minimize communication volume.

◆ ERefinementStrategy

Refinement strategy.

Enumerator
Default 

Default refinement strategy.

FiducciaMattheyses 

Fiduccia-Mattheyses.

GreedyCutAndVolumeRefinement 

Greedy cut and volume refinement.

TwoSidedNodeFiducciaMattheyses 

Two-sided node Fiduccia-Matthe.

OneSidedNodeFiducciaMattheyses 

One-sided node Fiduccia-Mattheyses.


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