- PaMPA is a parallel library for handling, redistributing
and remeshing unstructured meshes on distributed-memory
architectures.PaMPA dramatically eases and speeds-up the development of
parallel numerical solvers for compact schemes. It provides
solver writers with a distributed mesh abstraction and an
API to:- describe unstructured and possibly heterogeneous meshes,
on the form of a graph of interconnected entities of
different kinds (e.g. elements, faces, edges, nodes); - attach values to the mesh entities;
- distribute such meshes across processing elements, with an overlap of
variable width; - perform synchronous or asynchronous data exchanges of values across
processing elements; - describe numerical schemes by means of iterators over mesh entities and
their connected neighbors of a given kind; - redistribute meshes so as to balance computational load;
- perform parallel dynamic remeshing, by applying adequately a user-provided
sequential remesher to relevant areas of the distributed mesh.
- describe unstructured and possibly heterogeneous meshes,
- PaMPA runs concurrently multiple sequential remeshing tasks to perform
dynamic parallel remeshing and redistribution of very large unstructured
meshes. E.g., it can remesh a tetrahedral mesh from 27 to 610 Melements in
35m on 240 procs of a workstation cluster.