Skip to Main content Skip to Navigation
Conference papers

PaMPA: Parallel Mesh Partitioning and Adaptation

Cédric Lachat 1, 2 François Pellegrini 2, 3, * Cécile Dobrzynski 2, 4
* Corresponding author
1 PUMAS - Plasma, tUrbulence, Modeling, Approximation and Simulation
CRISAM - Inria Sophia Antipolis - Méditerranée
2 BACCHUS - Parallel tools for Numerical Algorithms and Resolution of essentially Hyperbolic problems
Inria Bordeaux - Sud-Ouest, UB - Université de Bordeaux, CNRS - Centre National de la Recherche Scientifique : UMR5800
Abstract : This talk will present the structure and operations of PaMPA ("Parallel Mesh Partitioning and Adaptation"), a middleware library dedicated to the management of unstructured meshes distributed across the processors of a parallel machine. Its purpose is to relieve solver writers from the tedious and error prone task of writing again and again service routines for mesh handling, data communication and exchange, remeshing, and data redistribution. PaMPA represents meshes as graphs, whose data is distributed across the processors of the parallel machine. Graph vertices model the various entities of the mesh: its elements, faces, edges, nodes, etc. Edges connect interrelated entities: elements to all of their faces, faces to all of their nodes and edges, elements to their neighboring elements, etc. Numerical data of any type (either scalar, vector or structured) can be attached to either kind of mesh entity or sub-entity. A mesh overlap size can be de fined by the user, so as to allow processors to access copies of mesh data located on neighboring processors. An overlap update routine allows users to propagate modi cations of the data associated with locally owned vertices to their copies owned by neighboring processors. PaMPA iterators allow users to loop over entities and sub-entities of the mesh. By using iterators and accessing overlap data, users can easily express their numerical schemes without having to write data exchange routines by themselves. One of the key features of PaMPA is its ability to handle re-meshing in parallel. Parts of the mesh that need re-meshing are processed independently on each processor by a user-provides sequential remesher. This process is repeated on yet un-remeshed areas until all of the mesh is processed. The re-meshed graph is then repartitioned so as to preserve load balance. In order to perform its task, PaMPA relies on several external libraries. Parallel graph partitioning is performed by PT-Scotch, while sequential remeshing of tetrahedral meshes is delegated to MMG3D.
Complete list of metadata
Contributor : François Pellegrini <>
Submitted on : Wednesday, December 26, 2012 - 3:41:14 PM
Last modification on : Thursday, February 11, 2021 - 2:56:43 PM


  • HAL Id : hal-00768916, version 1



Cédric Lachat, François Pellegrini, Cécile Dobrzynski. PaMPA: Parallel Mesh Partitioning and Adaptation. 21st International Conference on Domain Decomposition Methods (DD21), INRIA Rennes-Bretagne-Atlantique, Jun 2012, Rennes, France. ⟨hal-00768916⟩



Record views