template<class Context>
Rodin::Geometry::SharderBase class

Base implementation for decomposing a partitioned mesh into shards.

Template parameters
Context Execution context associated with the produced shards.

Given a mesh partitioner, this class constructs one local Shard per partition, including owned entities, shared entities, ghosts, owners, and halo metadata.

Public types

using ContextType = Context
Execution context type.

Constructors, destructors, conversion operators

SharderBase(const Context& context)
Construct a SharderBase with the given context.

Public functions

auto shard(Partitioner& partitioner) -> SharderBase&
Builds shards from a mesh partitioner.
auto getShards() -> auto&
Gets the generated shards.
auto getShards() const -> const auto&
Gets the generated shards.
auto getContext() const -> const ContextType&
Gets the execution context.

Function documentation

template<class Context>
Rodin::Geometry::SharderBase<Context>::SharderBase(const Context& context)

Construct a SharderBase with the given context.

Parameters
context The context.

template<class Context>
SharderBase& Rodin::Geometry::SharderBase<Context>::shard(Partitioner& partitioner)

Builds shards from a mesh partitioner.

Parameters
partitioner in Partitioner assigning each cell to a shard.
Returns Reference to this sharder.

template<class Context>
auto& Rodin::Geometry::SharderBase<Context>::getShards()

Gets the generated shards.

Returns Mutable reference to the shard collection.

template<class Context>
const auto& Rodin::Geometry::SharderBase<Context>::getShards() const

Gets the generated shards.

Returns Const reference to the shard collection.

template<class Context>
const ContextType& Rodin::Geometry::SharderBase<Context>::getContext() const

Gets the execution context.

Returns Const reference to the sharder context.