Skip to main content

Meshing library for nuclear workflows.

Project description

https://github.com/Thea-Energy/stellarmesh/raw/main/docs/logo.png

Tests PyPI Version Conda Version

Stellarmesh is a meshing library for nuclear workflows. Principally, it supports the creation of DAGMC geometry from CAD models.

Features:

  • ✅ Import of CadQuery, build123d, STEP and BREP geometry

  • ✅ Surface and volume meshing

  • ✅ Gmsh and OpenCASCADE meshing backends

  • ✅ Linear and angular mesh tolerances

  • ✅ Surface boundary conditions

  • ✅ Imprinting and merging of conformal geometry

  • ✅ Mesh refinement

  • ✅ Programmatic manipulation of .h5m tags

  • ✅ Automated testing and integration

Getting Started

Example

import build123d as bd
import stellarmesh as sm

solids = [bd.Solid.make_torus(1000, 100)]
for _ in range(3):
    solids.append(bd.Solid.thicken(solids[-1].faces()[0], 100))
solids = solids[1:]

geometry = sm.Geometry(solids[::-1], material_names=["a", "a", "c"])
mesh = sm.SurfaceMesh.from_geometry(
    geometry, sm.GmshSurfaceOptions(min_mesh_size=50, max_mesh_size=200)
)
mesh.write("test.msh")
mesh.render("docs/torus-mesh-reversed.png", rotation_xyz=(90, 0, -90), normals=15)

h5m = sm.DAGMCModel.from_mesh(mesh)
h5m.write("dagmc.h5m")
h5m.write("dagmc.vtk")
Rendered mesh with normals.

Acknowledgements

Stellarmesh is originally a project of Thea Energy, who are building the world’s first planar coil stellarator.

https://github.com/user-attachments/assets/37b9ba1c-b22c-4837-b226-a6212854127e

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

stellarmesh-1.0.1.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

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

stellarmesh-1.0.1-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file stellarmesh-1.0.1.tar.gz.

File metadata

  • Download URL: stellarmesh-1.0.1.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stellarmesh-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1dca4add1c4a26e03c10df76b5e880adccbee9841d0c5aae1bc06ebf546b9241
MD5 fa8ed42d20e68114761b5471a18005d1
BLAKE2b-256 30cf5744a4b8a015bed104071a12a77bc4d3e2e5f5467b772619ba04180200c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for stellarmesh-1.0.1.tar.gz:

Publisher: release.yml on stellarmesh/stellarmesh

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

File details

Details for the file stellarmesh-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: stellarmesh-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stellarmesh-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82c1569de4168b186bb668345a71326dda36977b1d41e5fc889b1bc84064a838
MD5 66c624feeda16d4249ca902f9a066c1e
BLAKE2b-256 13d36bfd7a65dfbafe24f1feed5c90093859a953dcc3bce92c313be8a85f427e

See more details on using hashes here.

Provenance

The following attestation bundles were made for stellarmesh-1.0.1-py3-none-any.whl:

Publisher: release.yml on stellarmesh/stellarmesh

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