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.
partnmesh mesh_file npartswhere
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.
PARTNMESH is available in a C version.
GRAPHCHK, a C program which reads a METIS GRAPH file and verifies that it has the proper format.
KMETIS, a C program which can partition the nodes of a graph defined by a METIS GRAPH file.
MESH2NODAL, a C program which converts a finite element mesh to a graph, for further processing by KMETIS or PMETIS.
METIS, 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, a data directory which contains examples of the files used to describe a graph to the METIS family of programs.
METIS_MESH, a data directory which contains examples of the files used to describe a finite element mesh to the METIS family of programs.
MPI, C programs which demonstrate a message passing interface which allows programs to be written for execution on parallel computers.
NEIGHBORS_TO_METIS_GRAPH, 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, 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, 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, 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.
You can go up one level to the C source codes.