|
waLBerla 7.2
|
Assignment functor for ParMetis based load balancing.
Uses BlockInfo::computationalWeight as vertex weight. Uses the overlap between neighboring domains as edge weight.
#include <MetisAssignmentFunctor.h>
Public Types | |
| using | PhantomBlockWeight = blockforest::DynamicParMetisBlockInfo |
| Convenience typedef to be used as PhantomBlock weight in conjunction with this weight assignment functor. | |
| using | PhantomBlockWeightPackUnpackFunctor = blockforest::DynamicParMetisBlockInfoPackUnpack |
| Convenience typedef for pack and unpack functions to be used in conjunction with PhantomBlockWeight. | |
Public Member Functions | |
| MetisAssignmentFunctor (shared_ptr< blockforest::InfoCollection > &ic, const real_t baseWeight=real_t(10.0)) | |
| void | operator() (std::vector< std::pair< const PhantomBlock *, walberla::any > > &blockData, const PhantomBlockForest &forest) |
| void | setBaseWeight (const double weight) |
| double | getBaseWeight () const |
Private Attributes | |
| shared_ptr< blockforest::InfoCollection > | ic_ |
| double | baseWeight_ = 10.0 |
| Base weight due to allocated data structures. A weight of zero for blocks is dangerous as empty blocks might accumulate on one process! | |
| using walberla::blockforest::MetisAssignmentFunctor::PhantomBlockWeight = blockforest::DynamicParMetisBlockInfo |
Convenience typedef to be used as PhantomBlock weight in conjunction with this weight assignment functor.
| using walberla::blockforest::MetisAssignmentFunctor::PhantomBlockWeightPackUnpackFunctor = blockforest::DynamicParMetisBlockInfoPackUnpack |
Convenience typedef for pack and unpack functions to be used in conjunction with PhantomBlockWeight.
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
Base weight due to allocated data structures. A weight of zero for blocks is dangerous as empty blocks might accumulate on one process!
|
private |