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.1.tar.gz (142.9 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.1-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stellarmesh-2.0.1.tar.gz
  • Upload date:
  • Size: 142.9 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.1.tar.gz
Algorithm Hash digest
SHA256 b30566b58bdd14ef12530622dc77999b0e3bd9a75f17224a6bd5372f6c847aa4
MD5 19b6b110067311701cd598a6798d3730
BLAKE2b-256 2fd9ed149ae9d3f723760e5b07f3ce9dfaadfa302c87662fbd054da27dd3aa83

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: stellarmesh-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f6df8686a4006cc03a1f340193cacdd7b816bdb5f18cfe852464b4cd6d04831
MD5 7d1a25f24a2623f2a7a844df4616c68f
BLAKE2b-256 da8dd769579c4dfffd7626eac1d1b7def0c2ab30983ae82701257fa3fd81c8f7

See more details on using hashes here.

Provenance

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