ug4
Lib_grid_parallelization_distribution

Classes

class  ug::IBalanceWeights
 
class  ug::ICommunicationWeights
 
class  ug::IPartitioner
 Partitioners can be used inside a LoadBalancer or separately to create partition maps. More...
 
class  ug::IPartitionPostProcessor
 allows to post-process partitions More...
 
class  ug::IPartitionPreProcessor
 allows to pre-process data before partitioning starts More...
 
class  ug::Partitioner_DynamicBisection< TElem, dim >
 Parallel bisection partitioner. More...
 
class  ug::ProcessHierarchy
 Defines how the different levels of a grid shall be distributed across the available processes. More...
 

Typedefs

typedef SmartPtr< IBalanceWeightsug::SPBalanceWeights
 
typedef SmartPtr< ICommunicationWeightsug::SPCommunicationWeights
 
typedef SmartPtr< IPartitionerug::SPPartitioner
 
typedef SmartPtr< IPartitionPostProcessorug::SPPartitionPostProcessor
 
typedef SmartPtr< IPartitionPreProcessorug::SPPartitionPreProcessor
 

Functions

template<class TElem , class TIterator , class TAAPos >
bool ug::PartitionElements_RegularGrid (SubsetHandler &shOut, TIterator begin, TIterator end, int numCellsX, int numCellsY, int numCellsZ, TAAPos &aaPos, typename Grid::traits< TElem >::callback cbConsiderElem=ConsiderAll(), int bucketSubset=-1)
 Partitions the elements in the grid by sorting them into a regular grid. More...
 

Detailed Description

Typedef Documentation

◆ SPBalanceWeights

◆ SPCommunicationWeights

◆ SPPartitioner

◆ SPPartitionPostProcessor

◆ SPPartitionPreProcessor

Function Documentation

◆ PartitionElements_RegularGrid()

template<class TElem , class TIterator , class TAAPos >
bool ug::PartitionElements_RegularGrid ( SubsetHandler shOut,
TIterator  begin,
TIterator  end,
int  numCellsX,
int  numCellsY,
int  numCellsZ,
TAAPos &  aaPos,
typename Grid::traits< TElem >::callback  cbConsiderElem = ConsiderAll(),
int  bucketSubset = -1 
)

Partitions the elements in the grid by sorting them into a regular grid.

This method uses Grid::mark. Let xInd, yInd be the indices of the cell in which an element lies. the associated subset index is then calculated by

subsetIndex = zInd * numCellsX * numCellsY + yInd * numCellsX + xInd;
Parameters
bucketSubsetAll elements which shall not be considered are assigned to this subset (default -1).

References ug::GridSubsetHandler::assign_subset(), ug::Grid::begin_marking(), ug::CalculateBoundingBox(), ug::CalculateCenter(), ug::CollectAssociated(), ug::Grid::end_marking(), ug::ISubsetHandler::grid(), ug::Grid::is_marked(), ug::Grid::mark(), ug::SMALL, UG_ASSERT, UG_LOG, UG_STATIC_ASSERT, UG_THROW, and ug::VecCopy().