waLBerla 7.2
Loading...
Searching...
No Matches
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: