template<class ContextType = Context::Local>
Rodin::Geometry::Mesh class

Represents a polyhedral complex.

A Mesh object represents a polyhedral complex $ \mathcal{T}_h $ , which is a set containing finitely many convex polyhedra. The mesh provides access to polytopes of various dimensions and their connectivity.

Key Features

  • Access to polytopes by dimension (vertices, faces, cells)
  • Connectivity information between polytopes
  • Support for attributes marking different regions
  • Thread-safe operations (context-dependent)

Context Types

The template parameter ContextType determines the execution model.

SpecializationDescription
Mesh<Context::Local>Sequential mesh storing the full incidence complex and geometry in a single process.
Mesh<Context::MPI>Distributed mesh storing a rank-local shard, global/local index maps, and MPI context for parallel assembly.

Derived classes

class Shard
Local view of one partition of a distributed mesh.
template<>
class SubMesh<Context::Local> final
SubMesh representing a subregion of a parent mesh.
template<>
class SubMesh<Context::MPI> final
SubMesh representing a distributed subregion of a parent MPI mesh.
class Rodin::MMG::Mesh
Local mesh enriched with MMG boundary tags and constraints.