61 #ifndef DomainPartitioner_h    62 #define DomainPartitioner_h    64 #include <utility/matrix/ID.h>    65 #include "utility/kernel/CommandEntity.h"    68 class GraphPartitioner;
    70 class PartitionedDomain;
    73 class TaggedObjectStorage;
    95     Graph *theElementGraph;
    96     std::vector<Graph> theBoundaryElements; 
    98     TaggedObjectStorage *theNodeLocations;
   104     bool usingMainDomain;
   107     int inic(
const size_t &);
   115     virtual int partition(
int numParts, 
bool useMainDomain = 
false, 
int mainPartition = 0);
   127                 bool adjacentVertexNotInOther = 
true);
   131                   bool adjacentVertexNotInOther = 
true);
   135                    Graph &theWeightedPartitionGraph, 
   136                    bool mustReleaseToLighter = 
true,
   137                    double factorGreater = 1.0,
   138                    bool adjacentVertexNotInOther = 
true);
   141                    Graph &theWeightedPartitionGraph, 
   142                    bool mustReleaseToLighter = 
true,
   143                    double factorGreater = 1.0,
   144                    bool adjacentVertexNotInOther = 
true);
 DomainPartitioner(GraphPartitioner &theGraphPartitioner, LoadBalancer &theLoadBalancer)
Constructor. 
Definition: DomainPartitioner.cpp:111
virtual int swapVertex(int from, int to, int vertexTag, bool adjacentVertexNotInOther=true)
Moves a vertes from subdomain from to subdomain to. 
Definition: DomainPartitioner.cpp:670
Object that can partition and load balance a PartitionedDomain. 
Definition: DomainPartitioner.h:88
Vector of integers. 
Definition: ID.h:95
virtual int swapBoundary(int from, int to, bool adjacentVertexNotInOther=true)
Method to move from from to to, all elements on the interface of from that are adjacent with to...
Definition: DomainPartitioner.cpp:1028
virtual int partition(int numParts, bool useMainDomain=false, int mainPartition=0)
Method invoked to partition the Domain. 
Definition: DomainPartitioner.cpp:171
virtual int getNumPartitions(void) const
Returns the number of partitions in the PartitionedDomain. 
Definition: DomainPartitioner.cpp:614
virtual Graph & getColoredGraph(void)
Return the colored graph. 
Definition: DomainPartitioner.cpp:641
Objet that can execute python scripts. 
Definition: CommandEntity.h:40
Base class for graph partitioners. 
Definition: GraphPartitioner.h:85
The Graph class provides the abstraction of a graph. 
Definition: Graph.h:94
virtual Graph & getPartitionGraph(void)
Return the partition graph. 
Definition: DomainPartitioner.cpp:623
virtual int releaseBoundary(int from, Graph &theWeightedPartitionGraph, bool mustReleaseToLighter=true, double factorGreater=1.0, bool adjacentVertexNotInOther=true)
Release all the elements on the boundary of subdomain from. 
Definition: DomainPartitioner.cpp:1526
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
Partitioned domain (aggregation of subdomains). 
Definition: PartitionedDomain.h:91
virtual int releaseVertex(int from, int vertexTag, Graph &theWeightedPartitionGraph, bool mustReleaseToLighter=true, double factorGreater=1.0, bool adjacentVertexNotInOther=true)
Method which when invoked will take the element given by vertex reference of the vertex whose tag is ...
Definition: DomainPartitioner.cpp:1435
A LoadBalancer is an object used to balance a PartitionedDomain. 
Definition: LoadBalancer.h:81
virtual int balance(Graph &theWeightedSubdomainGraph)
Load balance. 
Definition: DomainPartitioner.cpp:581