PARTDMESH is a C program which can partition the elements of a finite element mesh.
The program attempts to partition the mesh in such a way that each part has roughly the same number of elements, and so that the number of "interfaces" between parts is minimized. Such a partition can be very useful when parallel processing is to be applied.
The partition is done on the elements of the finite element mesh; however, this naturally induces a pseudo-partition of the nodes. A subset of the nodes will be associated with the elements belonging to each part of the partition - however, there will of course be some nodes that belong to more than one "part" of the pseudo-partition of the nodes. (This is not really a deep idea; it's just important to realize that while each element is in exactly one part, some nodes may be in several parts).
PARTDMESH will produce both a list of the elements belonging to each part of the partition, and a list of the nodes belonging to each associated part of the pseudopartition of the nodes.
The mesh file is stored in the METIS MESH format.
PARTDMESH works with the dual graph of the mesh. Generally, this is slower than the corresponding program PARTNMESH, which works with the nodal graph of the mesh. Either program may be used to get equivalent results.
To partition a finite element mesh, minimizing the number of shared edges or faces:
GRAPHCHK is an executable program which can read a METIS GRAPH file and verify that it has the proper format.
KMETIS is an executable program, using METIS, which can partition the nodes of a graph.
MESH2NODAL converts a finite element mesh to a graph, for further processing by KMETIS or PMETIS.
METIS is a library of routines for partitioning the nodes of a graph, or the elements of a finite element mesh, or for reordering the variables in a sparse matrix.
The METIS GRAPH data directory contains examples of the graph files used to describe a graph to the METIS family of programs.
The METIS MESH data directory contains examples of the mesh files used to describe a finite element mesh to the METIS family of programs.
MPI is a message passing interface that allows programs to be written for execution on parallel computers.
NEIGHBORS_TO_METIS_GRAPH reads information describing the adjacency relations in a tet mesh, and writes out essentially the same information, but in a format that METIS will accept.
OEMETIS reads the adjacency graph of a sparse matrix, stored in METIS GRAPH format, and produces a reordering of the nodes to minimize fill.
ONMETIS reads the adjacency graph of a sparse matrix, stored in METIS GRAPH format, and produces a reordering of the nodes to minimize fill.
PARTNMESH is an executable program, using METIS, which can partition the elements of a finite element mesh, by working with the nodal graph of the mesh.
PETSC is a library of high level mathematical software for the analysis of partial differential equations on parallel systems. PETSC supports and works with the METIS package.
PMETIS is an executable program, using METIS, which can partition the nodes of a graph.
You can go up one level to the C source codes.