Basalt
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.
Metadata
Release files for basalt-mesh 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| basalt_mesh-0.2.tar.gz | 2.5 MB | With provenance | Details for basalt_mesh-0.2.tar.gz |
Release files / basalt_mesh-0.2.tar.gz
| Download URL | basalt_mesh-0.2.tar.gz |
|---|---|
| Size | 2.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07d7b0b7dc68adf6d54d4ed74170de6e924c7c683036df906c5480fa8d6b4f3b
|
|
BLAKE2b-256 checksum How to use checksums |
f308d8b5b924d3ae1b9a9e4bd57d81e0a818d850a1ced4c1c4da6a6ef1b3c2e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 2, 2026.
Transparency logSecurity for basalt-mesh 0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for basalt_mesh-0.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 2, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.