MPMETIS(1)

πŸ’– MPMETIS(1) πŸ’–

okay bestie, gather round β€” this is the manual page for mpmetis, and honestly? it's giving mesh-partitioning main character energy. 🌸


✨ NAME ✨

mpmetis β€” Partitions a mesh into a specified number of parts.


🌈 SYNOPSIS 🌈

mpmetis [options] meshfile nparts

πŸŽ€ DESCRIPTION πŸŽ€

πŸ’… Required parameters

  • meshfile β€” this is where you keep the mesh that's getting partitioned. like, the whole point. πŸ¦‹
  • nparts β€” the number of partitions to split the mesh into. you pick a number, it makes that many pieces. slay. ✨

🧚 Optional parameters

  • -gtype=string β€” tells it which graph to use for computing the partitioning. your options are:
    • dual β€” partition the dual graph of the mesh [default]
    • nodal β€” partition the nodal graph of the mesh
  • -ptype=string β€” picks the scheme for computing the k-way partitioning. the possible values:
    • rb β€” Recursive bisectioning
    • kway β€” Direct k-way partitioning [default]
  • -ctype=string β€” the scheme used to match the vertices of the graph during the coarsening. your choices:
    • rm β€” Random matching
    • shem β€” Sorted heavy-edge matching [default]
  • -iptype=string [applies only when -ptype=rb] β€” the scheme used to compute the initial partitioning of the graph. values:
    • grow β€” Grow a bisection using a greedy strategy [default]
    • random β€” Compute a bisection at random
  • -objtype=string [applies only when -ptype=kway] β€” what objective the partitioning routines will optimize. options:
    • cut β€” Minimize the edgecut [default]
    • vol β€” Minimize the total communication volume
  • -contig [applies only when -ptype=kway] β€” asks the partitioning routines to try to produce partitions that are contiguous. heads up though: if the input graph isn't connected, this option gets ignored. πŸ’€
  • -minconn [applies only when -ptype=kway] β€” asks the partitioning routines to try to minimize the maximum degree of the subdomain graph β€” that's the graph where each partition is a node, and edges connect subdomains that share an interface. iykyk. 🫢
  • -tpwgts=filename β€” names the file that stores the target weights for each partition. by default, all partitions are assumed to be the same size. βš–οΈ
  • -ufactor=int β€” the maximum allowed load imbalance among the partitions. a value of x means the allowed load imbalance is 1+x/1000.

For ptype=rb, the load imbalance is measured as the ratio of 2*max(left,right)/(left+right), where left and right are the sizes of the respective partitions at each bisection.

For ptype=kway, it's 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 β€” 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 β€” number of iterations for the refinement algorithms at each stage of the uncoarsening process. Default is 10. πŸ”
  • -ncuts=int β€” how many different partitionings it'll compute. the final partitioning is whichever one achieves the best edgecut or communication volume. Default is 1.
  • -nooutput β€” says no partitioning file should be generated. zero output, zero stress. πŸ™ˆ
  • -seed=int β€” selects the seed of the random number generator. 🌱
  • -dbglvl=int β€” selects the dbglvl.
  • -help β€” prints this message. hi, that's this. πŸ‘‹

and that's the whole thing, bestie πŸŽ€ this was mpmetis version 5.1.0.3, dated July 2025. go partition something gorgeous. periodt. πŸ’œβœ¨

πŸ“¦ where this page comes from