60 #ifndef DomainPartitioner_h 61 #define DomainPartitioner_h 63 #include <utility/matrix/ID.h> 66 class GraphPartitioner;
68 class PartitionedDomain;
71 class TaggedObjectStorage;
80 Graph *theElementGraph;
81 std::vector<Graph> theBoundaryElements;
92 int inic(
const size_t &);
100 virtual int partition(
int numParts,
bool useMainDomain =
false,
int mainPartition = 0);
102 virtual int balance(
Graph &theWeightedSubdomainGraph);
105 virtual int getNumPartitions(
void)
const;
106 virtual Graph &getPartitionGraph(
void);
107 virtual Graph &getColoredGraph(
void);
109 virtual int swapVertex(
int from,
112 bool adjacentVertexNotInOther =
true);
114 virtual int swapBoundary(
int from,
116 bool adjacentVertexNotInOther =
true);
118 virtual int releaseVertex(
int from,
120 Graph &theWeightedPartitionGraph,
121 bool mustReleaseToLighter =
true,
122 double factorGreater = 1.0,
123 bool adjacentVertexNotInOther =
true);
125 virtual int releaseBoundary(
int from,
126 Graph &theWeightedPartitionGraph,
127 bool mustReleaseToLighter =
true,
128 double factorGreater = 1.0,
129 bool adjacentVertexNotInOther =
true);
GraphPartitioner is an abstract base class. Its subtypes are responsible for partioning the vertices ...
Definition: GraphPartitioner.h:80
Partitioned domain.
Definition: PartitionedDomain.h:82
TaggedObjectStorage. A TaggedObjectStorage object a container object used to hold objects of type Tag...
Definition: TaggedObjectStorage.h:76
The Graph class provides the abstraction of a graph, a collection of vertices and edges...
Definition: Graph.h:84
Definition: DomainPartitioner.h:73
Definition: LoadBalancer.h:71
================================================================================
Definition: ContinuaReprComponent.h:34