Skip to main content

Nuclear meshing library for NX and Parasolid based on the Simmetrix mesh suite

Project description

Columnar basalt formations at Cape Stolbchaty, Kunashir Island, after sunset

Columnar basalt prisms are formed as lava cools rapidly and develops polygonal fractures. Photo by Ekaterina Vasyagina, licensed under CC BY-SA 4.0.

CI PyPI Version

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

Tetrahedral surface mesh of the Wendelstein 7-X stellarator generated by Basalt

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

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.

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

basalt_mesh-0.2.tar.gz (2.5 MB view details)

Uploaded Source

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

Hashes for basalt_mesh-0.2.tar.gz
Algorithm Hash digest
SHA256 07d7b0b7dc68adf6d54d4ed74170de6e924c7c683036df906c5480fa8d6b4f3b
MD5 50f46fb95edc7f75cf21d062fab0319d
BLAKE2b-256 f308d8b5b924d3ae1b9a9e4bd57d81e0a818d850a1ced4c1c4da6a6ef1b3c2e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for basalt_mesh-0.2.tar.gz:

Publisher: release.yml on Thea-Energy/basalt

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