# mpmetis man page

mpmetis — Partitions a mesh into a specified number of parts.

## Synopsis

**mpmetis** [*options*] *meshfile nparts*

## Description

Required parameters

- meshfile
- Stores the mesh to be partitioned.
- nparts
The number of partitions to split the mesh.

Optional parameters

**-gtype**=*string*

Specifies the graph to be used for computing the partitioning The possible values are:

- dual
- - Partition the dual graph of the mesh [default]
- nodal
- - Partition the nodal graph of the mesh

**-ptype**=*string*

Specifies the scheme to be used for computing the k-way partitioning. The possible values are:

- rb
- - Recursive bisectioning
- kway
- - Direct k-way partitioning [default]

**-ctype**=*string*

Specifies the scheme to be used to match the vertices of the graph during the coarsening. The possible values are:

- rm
- - Random matching
- shem
- - Sorted heavy-edge matching [default]

**-iptype**=*string* [applies only when **-ptype**=*rb]*

Specifies the scheme to be used to compute the initial partitioning of the graph. The possible values are:

- grow
- - Grow a bisection using a greedy strategy [default]
- random
- - Compute a bisection at random

**-objtype**=*string* [applies only when **-ptype**=*kway]*

Specifies the objective that the partitioning routines will optimize. The possible values are:

- cut
- - Minimize the edgecut [default]
- vol
- - Minimize the total communication volume

**-contig** [applies only when **-ptype**=*kway]*

Specifies that the partitioning routines should try to produce partitions that are contiguous. Note that if the input graph is not connected this option is ignored.

**-minconn** [applies only when **-ptype**=*kway]*

Specifies that the partitioning routines should try to minimize the maximum degree of the subdomain graph, i.e., the graph in which each partition is a node, and edges connect subdomains with a shared interface.

**-tpwgts**=*filename*

Specifies the name of the file that stores the target weights for each partition. By default, all partitions are assumed to be of the same size.

**-ufactor**=*int*

Specifies the maximum allowed load imbalance among the partitions. A value of x indicates that the allowed load imbalance is 1+x/1000. For ptype=rb, the load imbalance is measured as the ratio of the 2*max(left,right)/(left+right), where left and right are the sizes of the respective partitions at each bisection. For ptype=kway, the load imbalance is measured as the ratio of max_i(pwgts[i])/avgpwgt, where pwgts[i] is the weight of the ith partition and avgpwgt is the sum of the total vertex weights divided by the number of partitions requested. For ptype=rb, the default value is 1 (i.e., load imbalance of 1.001). For ptype=kway, the default value is 30 (i.e., load imbalance of 1.03).

**-ncommon**=*int*

Specifies the common number of nodes that two elements must have in order to put an edge between them in the dual graph. Default is 1.

**-niter**=*int*

Specifies the number of iterations for the refinement algorithms at each stage of the uncoarsening process. Default is 10.

**-ncuts**=*int*

Specifies the number of different partitionings that it will compute. The final partitioning is the one that achieves the best edgecut or communication volume. Default is 1.

**-nooutput**

Specifies that no partitioning file should be generated.

**-seed**=*int*

Selects the seed of the random number generator.

**-dbglvl**=*int*

Selects the dbglvl.

**-help**

Prints this message.

## Info

mpmetis 5.1.0 February 2016