35 #ifndef loadbalancer_h 36 #define loadbalancer_h 47 #define _IFT_LoadBalancer_wtp "wtp" 48 #define _IFT_LoadBalancerMonitor_nodeWeightMode "nodeweightmode" 49 #define _IFT_LoadBalancerMonitor_initialnodeweights "nw" 55 class ProcessCommunicator;
59 #define MIGRATE_LOAD_TAG 9998 92 virtual const char *giveClassName()
const = 0;
133 virtual void calculateLoadTransfer() = 0;
138 void migrateLoad(
Domain *d);
142 virtual void printStatistics()
const;
146 virtual DofManMode giveDofManState(
int idofman) = 0;
150 virtual IntArray *giveDofManPartitions(
int idofman) = 0;
153 virtual int giveElementPartition(
int ielem) = 0;
164 virtual const char *giveClassName()
const = 0;
170 void deleteRemoteDofManagers(
Domain *);
171 void deleteRemoteElements(
Domain *);
190 virtual void init(
Domain *d) = 0;
205 virtual void migrate() = 0;
211 virtual void update() = 0;
216 std :: vector< std :: unique_ptr< WorkTransferPlugin > >
wtpList;
230 #endif // loadbalancer_h DofManMode
Describes the state of dofmanager after load balancing on the local partition.
Shared dofman that remains shared.
Undefined (undetermined) state, if assigned means internal error.
Class implementing an array of integers.
Local dofman that became remote (became local on remote partition).
const FloatArray & giveProcessorWeights()
Returns processor weights; the larger weight means more powerful node, sum of weights should equal to...
Local dofman that remains local.
std::vector< std::unique_ptr< WorkTransferPlugin > > wtpList
List of work transfer plugins.
bool staticNodeWeightFlag
Class representing process communicator for engineering model.
Abstract base class representing general load balancer.
Class representing vector of real numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void setDomain(Domain *d)
sets associated Domain
Abstract base class representing the "problem" under consideration.
Domain * giveDomain()
Returns reference to its domain.
virtual ~LoadBalancerMonitor()
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class representing solution step.
Abstract base class representing general load balancer monitor.
LoadBalancerMonitor(EngngModel *em)