#include <LoadBalancer.h>
LoadBalancer class for the usage of arbitrary load balancing classes that are handled by GeneralDomainDecomposition.
◆ ~LoadBalancer()
virtual LoadBalancer::~LoadBalancer |
( |
| ) |
|
|
virtualdefault |
◆ getCoversWholeDomain()
virtual std::array<bool, 3> LoadBalancer::getCoversWholeDomain |
( |
| ) |
|
|
pure virtual |
Indicates if the current process / MPI rank spans the full length of a dimension.
- Returns
- Array of bools, for each dimension one value: true, iff the process spans the entire domain along this dimension.
Implemented in ALLLoadBalancer.
◆ readXML()
virtual void LoadBalancer::readXML |
( |
XMLfileUnits & |
xmlconfig | ) |
|
|
pure virtual |
◆ rebalance()
virtual std::tuple<std::array<double, 3>, std::array<double, 3> > LoadBalancer::rebalance |
( |
double |
work | ) |
|
|
pure virtual |
The rebalancing call. Based on the current domain and the work for that domain this function determines a new domain decomposition that provides a better load balancing. This call will normally include communication and exchange of information with other processes.
- Parameters
-
work | Arbitrary unit of work, e.g., time for the current process |
- Returns
- New domain boundaries for the current process. First entry is the new boxMin, second the new boxMax.
Implemented in ALLLoadBalancer.
The documentation for this class was generated from the following file: