Personal tools
You are here: Home / Software / Utilities / Partition

Partition Utility

Partition is a utility used to partition the usual mien FEM connectivity into a set of contiguous subdomains using the Metis graph partitioning library. The latest version of Metis used is 4.0.1.

Documentation

This is it, and you can also look at the source code in ~behr/src/partition directory.

Data Requirements

Partition will need the connectivity array (the mien file), which should be 32-bit C-style binary, as in the MIXD format. For more information on writing C-style binary files see the EWD library documentation.

System Requirements

Partition will run, among others, on the Xeon cluster running Linux, and on Mac OS X computers.

Usage

Partition is invoked this way:

/usr/local/bin/partition [-tri|-qua|-tet|-hex] <npes> ...

The command line options are described below, and the <npes> is the number of partitions to generate. More than one partition size can be requested in a single run.

Options

Paritition accepts the following command line options:

OptionDescriptionDefault
-tri assume triangular mesh x
-qua assume quadrilateral mesh x
-hex assume hexahedral mesh x
-tet assume tetrahedral mesh v

Sample Run

An example output is shown below:

tempest(test)% ls -l mien
-rw-------    1 behr     user      7819024 Mar  4 18:09 mien
tempest(test)% partition 8
partition: tetrahedra
partition: found  488689 elements
partition: constructing dual...done
partition: partitioning for npes             8
partition: calling metis...done
geto2n: max(nec) is      61087
     61087     61087     61087     61087     61087     61087     61087     61080
writeperm: wrote mprm.0008

Known Problems

Partition determines the number of elements from the size of the mien file, so it is very important that that size is correct. Oftentimes, a previous run of e.g. DimensionMG will produce a larger mesh, and a subsequent run will result in a smaller mesh. In that case, the final mien file will have the the size corresponding to the larger mesh, i.e., it will not be properly truncated. In that case, Partition will produce unusable permutation file. It is a good idea to always delete mesh files before creating new ones. If an old file needs to be truncated, use the following:

dd if=mien of=mien.truncated bs=<nen∗ne∗4> count=1

where the block size bs is set to a desired integer file size.

The default version (based on Metis 2) has problems with large meshes and large partitions (millions of elements and thousands of PEs). Use the version based on Metis 3 instead in those cases. To deal with Metis interface changes, use -DMETIS2 for Metis 2 and -DMETIS3 for 3 and above.

Metis 3 had problems with 64-bit architectures (crashes in GKfree function, etc.); this has been fixed in Metis 4. Partition on the Xeon cluster is built using that version.

Metis uses random number generator to initialize its graphs, and so the partitioning obtained on two different machines might be visibly different.

« August 2012 »
August
MoTuWeThFrSaSu
12345
6789101112
13141516171819
20212223242526
2728293031
Upcoming Events
Marine 2013 May 29, 2013 - May 31, 2013 — Hamburg, Germany
MPF 2013 Jun 11, 2013 - Jun 14, 2013 — Sardinia, Italy
Coupled Problems 2013 Jun 17, 2013 - Jun 19, 2013 — Ibiza, Spain
USNCCM 12 Jul 22, 2013 - Jul 25, 2013 — Raleigh, North Carolina
GACM 2013 Sep 30, 2013 - Oct 02, 2013 — Hamburg, Germany
Upcoming events…