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-2.0.0.tar.gz (130.0 kB view details)

Uploaded Source

Built Distribution

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

stellarmesh-2.0.0-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for stellarmesh-2.0.0.tar.gz
Algorithm Hash digest
SHA256 7152e252fd7b90516e9a3f5ac8c7a40364bc60bc8481db0f1ecf2efb0ad8854c
MD5 8535d8dae101ee743147d2004753cbeb
BLAKE2b-256 53a77a555e466f1d1199d82764d37d7655cb13bf2dbfe23babc111bc9ca1e52c

See more details on using hashes here.

Provenance

The following attestation bundles were made for stellarmesh-2.0.0.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-2.0.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for stellarmesh-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5c137ba6bb31ab1a277757da9e2e6773fe3747b92a728fc6520367dd79f8df2
MD5 5b7ed5f0653801dcfab3a862fc2e8553
BLAKE2b-256 7ba32e28e784b52f458b1d5bad169c1ad6a7d96ba192397b2934de2e5b7a9ef7

See more details on using hashes here.

Provenance

The following attestation bundles were made for stellarmesh-2.0.0-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