# mpmetis - Man Page

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.