walberla::blockforest::StaticLevelwiseParMetis Class Reference

#include <StaticParMetis.h>

Public Types

enum  Algorithm { PARMETIS_PART_GEOM_KWAY, PARMETIS_PART_KWAY }
 
enum  WeightsToUse { PARMETIS_NO_WEIGHTS = 0, PARMETIS_EDGE_WEIGHTS = 1, PARMETIS_VERTEX_WEIGHTS = 2, PARMETIS_BOTH_WEIGHTS = 3 }
 
using BlockPair = std::pair< const SetupBlock *, const SetupBlock * >
 
using CommWeightFunction = std::function< void(const std::vector< BlockPair > &, std::vector< int64_t > &)>
 

Public Member Functions

 StaticLevelwiseParMetis (const Algorithm algorithm=PARMETIS_PART_GEOM_KWAY)
 
 StaticLevelwiseParMetis (const CommWeightFunction &commWeightFunction, const Algorithm algorithm=PARMETIS_PART_GEOM_KWAY, const WeightsToUse weightsToUse=PARMETIS_BOTH_WEIGHTS)
 
uint_t operator() (SetupBlockForest &forest, const uint_t numberOfProcesses, const memory_t perProcessMemoryLimit) const
 
bool edgeWeightsUsed () const
 
bool vertexWeightsUsed () const
 

Static Public Member Functions

static Algorithm stringToAlgorithm (std::string s)
 
static WeightsToUse stringToWeightsToUse (std::string s)
 

Protected Attributes

Algorithm algorithm_
 
WeightsToUse weightsToUse_
 
CommWeightFunction commWeightFunction_
 

Member Typedef Documentation

◆ BlockPair

◆ CommWeightFunction

using walberla::blockforest::StaticLevelwiseParMetis::CommWeightFunction = std::function<void (const std::vector<BlockPair> &, std::vector<int64_t> &)>

Member Enumeration Documentation

◆ Algorithm

Enumerator
PARMETIS_PART_GEOM_KWAY 
PARMETIS_PART_KWAY 

◆ WeightsToUse

Enumerator
PARMETIS_NO_WEIGHTS 
PARMETIS_EDGE_WEIGHTS 
PARMETIS_VERTEX_WEIGHTS 
PARMETIS_BOTH_WEIGHTS 

Constructor & Destructor Documentation

◆ StaticLevelwiseParMetis() [1/2]

walberla::blockforest::StaticLevelwiseParMetis::StaticLevelwiseParMetis ( const Algorithm  algorithm = PARMETIS_PART_GEOM_KWAY)
inline

◆ StaticLevelwiseParMetis() [2/2]

walberla::blockforest::StaticLevelwiseParMetis::StaticLevelwiseParMetis ( const CommWeightFunction commWeightFunction,
const Algorithm  algorithm = PARMETIS_PART_GEOM_KWAY,
const WeightsToUse  weightsToUse = PARMETIS_BOTH_WEIGHTS 
)
inline

Member Function Documentation

◆ edgeWeightsUsed()

bool walberla::blockforest::StaticLevelwiseParMetis::edgeWeightsUsed ( ) const
inline

◆ operator()()

uint_t walberla::blockforest::StaticLevelwiseParMetis::operator() ( SetupBlockForest forest,
const uint_t  numberOfProcesses,
const memory_t  perProcessMemoryLimit 
) const

◆ stringToAlgorithm()

StaticLevelwiseParMetis::Algorithm walberla::blockforest::StaticLevelwiseParMetis::stringToAlgorithm ( std::string  s)
static

◆ stringToWeightsToUse()

StaticLevelwiseParMetis::WeightsToUse walberla::blockforest::StaticLevelwiseParMetis::stringToWeightsToUse ( std::string  s)
static

◆ vertexWeightsUsed()

bool walberla::blockforest::StaticLevelwiseParMetis::vertexWeightsUsed ( ) const
inline

Member Data Documentation

◆ algorithm_

Algorithm walberla::blockforest::StaticLevelwiseParMetis::algorithm_
protected

◆ commWeightFunction_

CommWeightFunction walberla::blockforest::StaticLevelwiseParMetis::commWeightFunction_
protected

◆ weightsToUse_

WeightsToUse walberla::blockforest::StaticLevelwiseParMetis::weightsToUse_
protected

The documentation for this class was generated from the following files: