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.1.tar.gz (369.6 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.1-cp310-abi3-win_amd64.whl (782.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

rapidmesh-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (985.3 kB view details)

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

rapidmesh-0.2.1-cp310-abi3-macosx_11_0_arm64.whl (842.3 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

rapidmesh-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl (895.5 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: rapidmesh-0.2.1.tar.gz
  • Upload date:
  • Size: 369.6 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.1.tar.gz
Algorithm Hash digest
SHA256 b9a36bacd9352d5b3d2f6093d213467a6a7a58e8a07775bcad27bdcadefee3e4
MD5 b390de4ac7398ebbc3748512911dd5d2
BLAKE2b-256 8e8ca833d50db696a6963763eaf55ef9b5b6568944b82d70b019ac09a2c4c718

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.1.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.1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: rapidmesh-0.2.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 782.4 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.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7d1bf6572a13bfd49ff4984efe70b27ec7d572dbb63ca52000f83edbcdf4b602
MD5 ec3622b9813d23b9ebc9efcbeff6772b
BLAKE2b-256 fc57ac2fbb6ec51ffd40bb87fa1e5089587b38ea16e11a1638f0ccfca63f947d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.1-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.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidmesh-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c2e0b74807635cb28484c6a764cb8a13643bd5a6539edb1d7a97ccd725073b0
MD5 8452d99c9fe5eac04f69e5b538e3889c
BLAKE2b-256 9a59aa004b044dbd367ca3ff9663cfb2b170769ac655a73c2b748061d0880c92

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.1-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.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidmesh-0.2.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4d720dddfda41cf5a798a3edcdf8ce5b1722264f9c3be75c8178134f1860c6c
MD5 0b6f8705be7dd0c5b0cb80598267fc36
BLAKE2b-256 c93afbe9035db910d88ff8cd18cacc3d45b008346a883ddc1df430e7e68ba472

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.1-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.1-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidmesh-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 77e28bd5b66edfe0a688a5b3795e83c95e05020872d44a96c0fcc77e7c8b698d
MD5 91cade21350e165c2ba611d609e5fd88
BLAKE2b-256 75f5b77b9e4bfd5c298061e8525b0cb997a29f9802c5bb49d535e3a674c8d49f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidmesh-0.2.1-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