|
| ALLLoadBalancer (std::array< double, 3 > boxMin, std::array< double, 3 > boxMax, double gamma, MPI_Comm comm, std::array< size_t, 3 > globalSize, std::array< size_t, 3 > localCoordinates, std::array< double, 3 > minimalPartitionSize) |
|
std::tuple< std::array< double, 3 >, std::array< double, 3 > > | rebalance (double work) override |
|
void | readXML (XMLfileUnits &xmlconfig) override |
|
std::array< bool, 3 > | getCoversWholeDomain () override |
|
virtual | ~LoadBalancer ()=default |
|
◆ getCoversWholeDomain()
std::array<bool, 3> ALLLoadBalancer::getCoversWholeDomain |
( |
| ) |
|
|
inlineoverridevirtual |
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.
Implements LoadBalancer.
◆ readXML()
◆ rebalance()
std::tuple< std::array< double, 3 >, std::array< double, 3 > > ALLLoadBalancer::rebalance |
( |
double |
work | ) |
|
|
overridevirtual |
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.
Implements LoadBalancer.
The documentation for this class was generated from the following files: