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
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.
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.1.tar.gz.
File metadata
- Download URL: basalt_mesh-0.1.tar.gz
- Upload date:
- Size: 304.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea37f6f4dfbaf07da461fef9cddb9dff77ce473a781f230595b3441b133f3e19
|
|
| MD5 |
95b80f394038029885ad558423316543
|
|
| BLAKE2b-256 |
8580feded93be5735c2cb5ad51f4a08997df4d63c2939f5f5d4fc9cd4ba31bd9
|
Provenance
The following attestation bundles were made for basalt_mesh-0.1.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.1.tar.gz -
Subject digest:
ea37f6f4dfbaf07da461fef9cddb9dff77ce473a781f230595b3441b133f3e19 - Sigstore transparency entry: 1588134332
- Sigstore integration time:
-
Permalink:
Thea-Energy/basalt@70e74d75b63298cc608df3852c6e2a363bb14ae7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Thea-Energy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@70e74d75b63298cc608df3852c6e2a363bb14ae7 -
Trigger Event:
workflow_dispatch
-
Statement type: