35 #ifndef parmetisloadbalancer_h 36 #define parmetisloadbalancer_h 44 #define _IFT_ParmetisLoadBalancer_Name "parmetis" 51 #define PARMETISLB_END_DATA -1 52 #define SHARED_DOFMAN_PARTITIONS_TAG 9998 77 virtual void calculateLoadTransfer();
80 virtual DofManMode giveDofManState(
int idofman);
81 virtual IntArray *giveDofManPartitions(
int idofman);
82 virtual int giveElementPartition(
int ielem);
85 void handleMasterSlaveDofManLinks();
87 void initGlobalParmetisElementNumbering();
98 void labelDofManagers();
99 int determineDofManState(
int idofman,
int myrank,
int npart,
IntArray *dofManPartitions);
103 void addSharedDofmanPartitions(
int _locnum,
IntArray _partitions);
105 virtual const char *
giveClassName()
const {
return "ParmetisLoadBalancer"; }
109 #endif // parmetisloadbalancer_h
DofManMode
Describes the state of dofmanager after load balancing on the local partition.
real_t * tpwgts
Partition weights (user input).
std::vector< IntArray > dofManPartitions
Array of dof man partitions.
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
int giveLocalElementNumber(int globnum)
IntArray elementPart
Partition vector of the locally-stored elements.
IntArray dofManState
Array of DofManMode(s).
Class representing process communicator for engineering model.
Abstract base class representing general load balancer.
int giveGlobalElementNumber(int locnum)
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual const char * giveClassName() const
Returns class name of the receiver.