Rodin::Geometry::Partitioner class

Abstract base class for mesh partitioning strategies.

A Partitioner divides mesh polytopes into disjoint partitions, which is useful for load balancing, parallel processing, and domain decomposition methods. Each polytope is assigned to exactly one partition.

Derived classes

class BalancedCompactPartitioner
Partitioner that creates balanced, spatially compact partitions.
class GreedyPartitioner
Partitioner using a greedy algorithm.

Constructors, destructors, conversion operators

Partitioner() defaulted
Default constructor.
~Partitioner() defaulted virtual
Virtual destructor.

Public functions

auto getMesh() const -> const Mesh<Context::Local>& pure virtual
Gets the mesh being partitioned.
void partition(size_t numPartitions, size_t d) pure virtual
Performs the partitioning of mesh polytopes.
auto getPartition(Index index) const -> size_t pure virtual
Gets the partition index for a given polytope.
auto operator[](Index index) const -> size_t
Operator overload for getting partition index.
auto getCount() const -> size_t pure virtual
Gets the total number of partitions.

Function documentation

const Mesh<Context::Local>& Rodin::Geometry::Partitioner::getMesh() const pure virtual

Gets the mesh being partitioned.

Returns Reference to the mesh

void Rodin::Geometry::Partitioner::partition(size_t numPartitions, size_t d) pure virtual

Performs the partitioning of mesh polytopes.

Parameters
numPartitions in Number of partitions to create
in Dimension of polytopes to partition

Divides the polytopes of dimension d into numPartitions disjoint partitions according to the partitioning strategy.

size_t Rodin::Geometry::Partitioner::getPartition(Index index) const pure virtual

Gets the partition index for a given polytope.

Parameters
index in Index of the polytope
Returns Partition number assigned to the polytope

size_t Rodin::Geometry::Partitioner::operator[](Index index) const

Operator overload for getting partition index.

Parameters
index in Index of the polytope
Returns Partition number assigned to the polytope

size_t Rodin::Geometry::Partitioner::getCount() const pure virtual

Gets the total number of partitions.

Returns Number of partitions created