inducer / pymetis

A Python wrapper around Metis, a graph partitioning package
http://mathema.tician.de/software/pymetis
Other
164 stars 32 forks source link

add METIS_PartMeshDual to part_mesh #46

Closed zexxzhao closed 2 years ago

zexxzhao commented 2 years ago
  1. Define METIS enum (originally declared in metis.h) in Python, including return codes, operation type codes, option codes, partitioning schemes, initial partitioning schemes, refinement schemes, debug levels, and type of objectives.
  2. part_mesh now wraps both METIS_PartMeshNodal and METIS_PartMeshDual. An additional argument gtype is provided to specify which to use.
  3. Also add an argument tpwgts to part_mesh to specify partition weights.
  4. The default options for mesh partitioning are consistent with those in mpmetis.c now.
  5. Add test cases for `part_mesh' to validate the new features: (Quad mesh + Hex mesh + Tet mesh) X (Nodal with weights + Dual without weights + Dual with weights)
inducer commented 2 years ago

To cut down on noise in my email, I'm unsubscribing from this PR. When it next needs my attention, please @-mention me or hit the "request review" button. Otherwise, I may not see your messages in a timely manner.

zexxzhao commented 2 years ago

Can you review the updates when you are available? @inducer

inducer commented 2 years ago

Unsubscribing... @-mention or request review once it's ready for a look or needs attention.

zexxzhao commented 2 years ago

Thank you so much for your comments. I just got a chance to read and fix them. Please let me know whether the latest commit addresses these issues.

inducer commented 2 years ago

Linter failed. Could you take a look?

zexxzhao commented 2 years ago

Linter failed. Could you take a look?

I forgot to delete the trailing space. Have removed it. @inducer