Skip to main content

QuADMESH+: Quadrangular ADvanced Mesh generator. Python port of MATLAB QuADMESH library.

Project description

quadmesh

Tri-to-quad mesh generator. Port of MATLAB QuADMESH+. Build on chilmesh.

Pipeline

tri -> create_quad_domain -> tri2quad -> post_process -> quad
  1. create_quad_domain — pick tris (whole mesh or polygon mask).
  2. tri2quad — sweep layers outward, merge tri pairs into quads.
  3. post_process — doublet collapse, quad-vert merge, boundary cleanup, smooth.

Install

pip install -e .
pytest          # 25+ tests

Use

from chilmesh import CHILmesh
from quadmesh import tri2quad, post_process, two_part_smoother

tri = CHILmesh.read_from_fort14("mesh.14")
quad = tri2quad(tri)
quad = post_process(quad, n_smooth_iter=50)

CLI

quadmesh mesh.14 -o out.14
quadmesh mesh.14 -o out.14 --no-remove-edges --n-smooth-iter 100
quadmesh mesh.14 -o out.14 --no-post-process

v0.2 new

  • CleanupBoundaryQuads shift mode (can_remove_edges=False). Move corner inward. Before: no-op. Now: work.
  • two_part_smoother. Interleave angle + FEM smooth. Port of MATLAB twoPartSmoother.m.
  • 25+ tests.

Numbers

Mesh Tris Layers Pipeline
Test_Case_1 2417 7 <1 s
Block_O 5214 9 ~1.2 s

Provenance

MAT src: ../02_QuADMESH_Library/. Map: MAPPING.md. Spec: ../specs/001-matlab-to-python-port/.

Cite

Mattioli, D. D. (2017). QuADMESH+: A Quadrangular ADvanced Mesh Generator. Master's thesis, OSU.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quadmesh-0.1.0.tar.gz (38.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quadmesh-0.1.0-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file quadmesh-0.1.0.tar.gz.

File metadata

  • Download URL: quadmesh-0.1.0.tar.gz
  • Upload date:
  • Size: 38.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for quadmesh-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e06a49f44f64c1a1261255605f766e7efa2387e285b5c84df5ca0b52d3ff6598
MD5 eee5372e913ae879493662bba0a8f08a
BLAKE2b-256 05908eb78f8b3952caa97ed5f89d7c3d323faa9bc31d88a2ed8e162fbb6991b1

See more details on using hashes here.

File details

Details for the file quadmesh-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quadmesh-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for quadmesh-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dccacf10382da8661a93bd72da7ee5eba5fcbf05127fd0c768a72ac03113dead
MD5 024f4dcad08bdb72cca47f4d180087a7
BLAKE2b-256 7f2d6964bada90d1b6e5466b10687afc6605b7250035f1891ae31b0d9f7f58de

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page