PARTNMESH 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).
PARTNMESH 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.
PARTNMESH works with the nodal graph of the mesh. Generally, this is faster than the corresponding program PARTDMESH, which works with the dual 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:
PARTNMESH is part of the METIS family of Multilevel Partitioning Algorithms. It was produced by the lab of George Karypis, who states
"It is our general policy to make these tools available to the research community for use in their own research and/or non-commercial applications."
For further information on licensing and permissions, refer to http://www.cs.umn.edu/~metis, the METIS home page.
GRAPHCHK is a C program which reads a METIS GRAPH file and verifies that it has the proper format.
KMETIS is a C program which can partition the nodes of a graph defined by a METIS GRAPH file.
MESH2NODAL is a C program which converts a finite element mesh to a graph, for further processing by KMETIS or PMETIS.
METIS is a C library which partitions the nodes of a graph, or the elements of a finite element mesh, or reorders the variables in a sparse matrix.
METIS_GRAPH is a data directory which contains examples of the files used to describe a graph to the METIS family of programs.
METIS_MESH is a data directory which contains examples of the files used to describe a finite element mesh to the METIS family of programs.
MPI is a message passing interface which allows programs to be written for execution on parallel computers.
NEIGHBORS_TO_METIS_GRAPH is a FORTRAN90 program which 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 is a C program which reads the adjacency graph of a sparse matrix, stored in METIS GRAPH format, and produces a reordering of the nodes to minimize fill.
ONMETIS is a C program which reads the adjacency graph of a sparse matrix, stored in METIS GRAPH format, and produces a reordering of the nodes to minimize fill.
PARTDMESH is a C program which can partition the elements of a finite element mesh, defined by a METIS MESH file, by working with the dual 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 a C program which can partition the nodes of a graph defined as a METIS GRAPH file.
You can go up one level to the C source codes.