Nuclear meshing library for NX and Parasolid based on the Simmetrix mesh suite
Project description
Columnar basalt prisms are formed as lava cools rapidly and develops polygonal fractures. Photo by Ekaterina Vasyagina, licensed under CC BY-SA 4.0.
Basalt is a Python meshing library for nuclear workflows. It wraps the commercial Simmetrix SimModSuite library through C++ bindings, ingests Parasolid CAD assemblies, performs non-manifold imprinting, generates surface and volume meshes, and exports them as Gmsh .msh files annotated for use with Stellarmesh and DAGMC.
Features
Parasolid (.x_t) assembly import via Simmetrix
NX user-attribute ingestion through a JSON sidecar
Non-manifold imprint and merge of conformal geometry
Surface and volume meshing with curvature and proximity refinement
Gmsh export with metadata for downstream DAGMC conversion
Basalt-generated tetrahedral mesh of the public Wendelstein 7-X stellarator fixture (plasma vessel and planar coils). See the W7-X neutronics tutorial for the full pipeline.
Getting Started
Example
import basalt as bslt
model = bslt.Model.from_parasolid_file("geometry.x_t")
nm_model = model.make_non_manifold_model()
mesh_case = bslt.MeshCase(nm_model)
mesh_case.set_size(0.1)
surface_mesh = bslt.SurfaceMesh.from_model(nm_model, mesh_case)
volume_mesh = bslt.VolumeMesh.from_surface_mesh(surface_mesh)
volume_mesh.write_msh("output.msh")
Try the tutorial
For an end-to-end neutronics workflow against the public W7-X stellarator fixture — from Parasolid CAD through Basalt meshing, stellarmesh DAGMC conversion, and an OpenMC fixed-source DT-neutron calculation with four tallies and a 3D PyVista flux render — see the W7-X neutronics tutorial.
Presentations
Automated CAD to Neutronics Workflows with Stellarmesh and Basalt — 2nd Fusion Neutronics Meeting (2026)
Citing
If you use Basalt in your research, please cite it. Citation metadata is available in the CITATION.cff file, and GitHub can generate APA or BibTeX entries from the “Cite this repository” button on the repository page.
Acknowledgements
Basalt is originally a project of Thea Energy, who are building the world’s first planar coil stellarator.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file basalt_mesh-0.2.tar.gz.
File metadata
- Download URL: basalt_mesh-0.2.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07d7b0b7dc68adf6d54d4ed74170de6e924c7c683036df906c5480fa8d6b4f3b
|
|
| MD5 |
50f46fb95edc7f75cf21d062fab0319d
|
|
| BLAKE2b-256 |
f308d8b5b924d3ae1b9a9e4bd57d81e0a818d850a1ced4c1c4da6a6ef1b3c2e1
|
Provenance
The following attestation bundles were made for basalt_mesh-0.2.tar.gz:
Publisher:
release.yml on Thea-Energy/basalt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
basalt_mesh-0.2.tar.gz -
Subject digest:
07d7b0b7dc68adf6d54d4ed74170de6e924c7c683036df906c5480fa8d6b4f3b - Sigstore transparency entry: 2048395308
- Sigstore integration time:
-
Permalink:
Thea-Energy/basalt@3b85770436d7dd867a755ae3b3f752344b19af97 -
Branch / Tag:
refs/tags/v0.2 - Owner: https://github.com/Thea-Energy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3b85770436d7dd867a755ae3b3f752344b19af97 -
Trigger Event:
release
-
Statement type: