Skip to main content

Pure-Rust conforming tetrahedral mesher for electromagnetic FEM, with exact CSG and a Python builder API.

Project description

rapidmesh

Pure-Rust conforming tetrahedral mesh generator for 3-D electromagnetic FEM (Maxwell, H(curl)/Nédélec), with a Python builder API.

  • Primitives + exact CSG booleans — boxes, cylinders, spheres, cones, tori, prisms, sweeps, lofts; unioned/subtracted by an exact mesh arrangement (no float snapping, material interfaces stay exactly conforming).
  • Constrained Delaunay tetrahedralization with exact boundary recovery.
  • Sizing-field-driven refinement and dihedral-angle-targeted optimization.
  • Observability — per-stage timings, statistics, a leveled log, and quality with location, all from Python.

Install

pip install rapidmesh

Usage

import rapidmesh as rm

g = rm.Geometry(maxh=0.4)
g.box(4, 4, 2)                                   # air / substrate box
g.cylinder(radius=0.8, height=2, position=(2, 2, 0), void=True)  # a bore

mesh = g.mesh()
print(mesh)                       # Mesh(... tets, ... points, min dihedral ... deg)

mesh.points        # (n_points, 3) float64
mesh.tets          # (n_tets, 4)  uint64
mesh.tet_regions   # (n_tets,)    region tag per tet
mesh.faces         # (n_faces, 3) surface faces (region interfaces, sheets)

What happened, how long, and where the quality is worst

print(mesh.report())     # per-stage timings + quality-with-location + warnings
mesh.timings             # {"mesh.faces": 0.42, "mesh.refine": 0.16, ...} seconds
mesh.metrics             # predicate counts, recovery work, point/tet counts
mesh.quality             # min_dihedral_deg, worst_location, worst_region, regions[]
mesh.log                 # [{level, stage, message, at}, ...]
mesh.warnings            # the warn/error subset (budget caps, slivers)

Set RAPIDMESH_LOG=1 in the environment to stream the log live to stderr (including per-refinement-round progress, so you can see what is running and where it spends or hangs time).

License

MIT

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

rapidmesh-0.2.0.tar.gz (369.1 kB view details)

Uploaded Source

Built Distributions

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

rapidmesh-0.2.0-cp310-abi3-win_amd64.whl (782.0 kB view details)

Uploaded CPython 3.10+Windows x86-64

rapidmesh-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (985.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

rapidmesh-0.2.0-cp310-abi3-macosx_11_0_arm64.whl (843.8 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

rapidmesh-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl (895.2 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file rapidmesh-0.2.0.tar.gz.

File metadata

  • Download URL: rapidmesh-0.2.0.tar.gz
  • Upload date:
  • Size: 369.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidmesh-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7963f31928d77123b0962475a1906dfa0e4ad7b9d1ad07ed8f3f9ae49ffc8185
MD5 23113b6185dfbd694b5571ba6567760c
BLAKE2b-256 3ec9900253656f7eb11d35a41b98a670b7e3f2daa5d3899645644074ccacb2e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.0.tar.gz:

Publisher: publish.yml on milanofthe/rapidmesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidmesh-0.2.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: rapidmesh-0.2.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 782.0 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidmesh-0.2.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b934fa92c092c8ab653e34e7a2d9263cfab253a25794f3c618b5edb5ed0382e3
MD5 75636116457e4beea4194a33cbfd2145
BLAKE2b-256 a3d9f3b537e930e03f91b9ec35a95bfd9f266c27767d8d9e89c81e04bf05e5e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.0-cp310-abi3-win_amd64.whl:

Publisher: publish.yml on milanofthe/rapidmesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidmesh-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidmesh-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efec807530f0214a8c78bb6f0a8c7a901d5f69c4bbc9bfd4d892ebb502984f4e
MD5 93c08be0e78de98d8792255f9f582dcb
BLAKE2b-256 40bbdea932fe4a1c0f8507f1bf483dd756d96f5ac4ae1173f488bc27da474162

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on milanofthe/rapidmesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidmesh-0.2.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidmesh-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ca113f76decaab25c122a97c411f1aca300e1d23d201e2e4bdf02ca5747146b
MD5 ddd28c2ef3e2e4045c887436ef73aa6c
BLAKE2b-256 da67c7fd47bb02de9498c2d364f585f05e6706077cd9bfe5ed33a06b59d63350

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on milanofthe/rapidmesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidmesh-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidmesh-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 09a1f52420f1c1eccb9215cf1024cb55de0c201b91d7f7fb0008a3e825eaba2e
MD5 1497673afd4561772d8f460c3ab9bee7
BLAKE2b-256 4c8887073d9a9e5dca143cfc648f044beb48e984b086e194c7a6de46d275f396

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: publish.yml on milanofthe/rapidmesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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