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.1.0.tar.gz (206.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.1.0-cp310-abi3-win_amd64.whl (767.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

rapidmesh-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (972.6 kB view details)

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

rapidmesh-0.1.0-cp310-abi3-macosx_11_0_arm64.whl (830.4 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

rapidmesh-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl (881.3 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: rapidmesh-0.1.0.tar.gz
  • Upload date:
  • Size: 206.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.1.0.tar.gz
Algorithm Hash digest
SHA256 592f43cebcfc4525a95fffcf3edb52d7f5c69674a62be77ce59d10276c54d85e
MD5 9292443bc3e1143b055512a344437382
BLAKE2b-256 196ed86c3af5edf24ca1b08480bc548dc41cb605a9284d04e433beed492bff14

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidmesh-0.1.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 767.5 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.1.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4dbda8144f9c97acf5e02d86f925569733ac7640db377d74904ac09d703ecee5
MD5 2b30b3637d08143770b75916f854810e
BLAKE2b-256 1ed23cd4f79d2ba6e1b4c8c74926dc80a6b47824df9773dadb670f6af90d7f00

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidmesh-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8549d254efe78d93361ace5e0fdc236e05e522e93424d5a246ffc15a5dfb9830
MD5 ec832da9c7fa92d2b455264f7dd10b9a
BLAKE2b-256 6f539f8e5bb4e5fd4419ec5be3b513ea7b098c5085d8c81003a124096d1a4e1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidmesh-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6adc3135518e736973867e34df247355ead78a2a16a92980b1b782b6967b112d
MD5 8fb8e6fa99ac99bf926730cea3a02c96
BLAKE2b-256 7e1a9aa2cba86c92f0e7bc646424e4108ccc6bb9249f03e4f096906bba0a7844

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidmesh-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 75ad9760f39a4ca0a0923a183a79d351375b5c18949065dc887f8511d65e3ac6
MD5 60f0142c91035eff1594ac7f3dc4c852
BLAKE2b-256 93fcd87a3fe946125ee48b371ae42482e12ed897e9901778966e57559caa8226

See more details on using hashes here.

Provenance

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