ALL 0.9.3
A Loadbalacing Library
|
#include <ALL.hpp>
Public Member Functions | |
ALL () | |
ALL (const LB_t m, const int d, const std::vector< Point< T > > &inp, const T g) | |
ALL (const LB_t m, const int d, const T g) | |
~ALL ()=default | |
destructor | |
std::vector< Point< T > > & | balance () |
int | getDimension () |
W | getEfficiency () |
W | getEstimatedEfficiency () |
T | getGamma () |
std::vector< int > & | getNeighbors () |
std::vector< T > & | getNeighborVertices () |
std::vector< Point< T > > & | getPrevVertices () |
std::vector< Point< T > > & | getVertices () |
W | getWork () |
void | getWork (std::vector< W > &result) |
void | printVTKoutlines (const int step) |
void | printVTKvertices (const int step) |
void | setCommunicator (const MPI_Comm comm) |
void | setGamma (const T g) |
void | setMethodData (const void *data) |
void | setMinDomainSize (const std::vector< T > &minSize) |
void | setProcGridParams (const std::vector< int > &loc, const std::vector< int > &size) |
void | setProcTag (int tag) |
void | setSysSize (const std::vector< T > &sysSize) |
void | setup () |
void | setVertices (const std::vector< Point< T > > &inp) |
void | setWork (const std::vector< W > &work) |
void | setWork (const W work) |
T | data type for vertices and related data |
W | data type for work and related data |
|
inline |
constructor providing the balancing method to use, the dimensions of the vertices and the gamma correction value and setting the chosen balancing methods up
[in] | m | the balancing method to be used |
[in] | d | the dimension of the vertices to be used (most methods currently only support 3D vertices) |
[in] | g | the value used for the correction value, if required by the chosen balancing method |
|
inline |
constructor to setup the method, the dimension of the used vertices, the correction value and also providing a first set of vertices to start from
[in] | m | the balancing method to be used |
[in] | d | the dimension of the vertices to be used (most methods currently only support 3D vertices) |
[in] | inp | the set of vertices to be used in the balancing step |
[in] | g | the value used for the correction value, if required by the chosen balancing method |
method the trigger the balancing step, that updates the vertices according to the previously provided work and chosen method
[in] | internal | toggles if internal steps are performed, needed for some recursive calls of the routine by some methods |
Definition at line 299 of file ALL.hpp.
|
inline |
get the dimension of the ALL::Point<T> objects used to describe the vertices of the domains
Definition at line 428 of file ALL.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
method to create VTK based output of the domains used in the load-balancing process (for now only orthogonal domains are supported)
[in] | step | the number of the loadbalancing step used for numbering the output files |
Definition at line 519 of file ALL.hpp.
|
inline |
|
inline |
method to set the communicator to be used in the balancing step, if a non cartesian communicator is provided, a cartesian communicator is created as a copy and used internally
[in] | comm | the communicator to be used |
Definition at line 211 of file ALL.hpp.
|
inline |
|
inline |
method to set method specific data, that is not required by all different balancing methods
[in] | data | pointer to a struct or other data object in the format the methods requires |
For the histogram method the number of bins per dimensions can be given as a C array of int
s. The length of the array must be the number of dimensions given to the load balancer. BE CAREFUL this is not enforced!
Definition at line 486 of file ALL.hpp.
|
inline |
method the set the minimum domain sizes in all directions, can be required if using linked cell algorithms and wanting to prevent data exchange with next-near neighbors instead of only with next neighbors
[in] | minSize | the minimum size of a domain in each dimension |
Definition at line 510 of file ALL.hpp.
|
inline |
|
inline |
|
inline |
method to set the size of the system, e.g. required for the HISTOGRAM balancing method
[in] | sysSize | reference to a vector of T containing the size of the orthogonal system in the following format: (x_min, x_max, y_min, y_max, z_min, z_max) |
Definition at line 474 of file ALL.hpp.
|
inline |
|
inline |
method to provide a new set of vertices
[in] | inp | reference to a vector of ALL::Point objects describing the vertices to be used in the balancing step |
Definition at line 195 of file ALL.hpp.
|
inline |
|
inline |