This is a minimal Python package that provides a Python API interfaces for converting multiple STL files into a DAGMC h5m file ready for use in simulation.
Convert STL files to a DAGMC h5m file complete with material tags and ready for use neutronics simulations.
warning this approach does not imprint and merge the geometry and therefore requires that the STL files do not overlap. Overlaps could lead to particles being lost during transport. If imprinting and merging is required consider using Paramak export_dagmc_h5m() method or cad-to-h5m to make the DAGMC geometry.
It is strongly advised to used the DAGMC overlap checker to check the resulting h5m file (see checking for overlaps section below).
This single line command should install the package and dependencies (including moab)
conda install -c fusion-energy -c fusion-energy stl_to_h5m
These two commands should install the package and dependencies. Moab requires a separate install as it is not available on pip
conda install -c conda-forge moab
pip install stl_to_h5m
To convert a single STL file into a h5m file. This also tags the volume with the material tag m1.
from stl_to_h5m import stl_to_h5m
stl_to_h5m(
files_with_tags=[('part1.stl', 'mat1')],
h5m_filename='dagmc.h5m',
)
To convert multiple STL files into a h5m file. This also tags the relevant volumes with material tags called m1 and m2.
from stl_to_h5m import stl_to_h5m
stl_to_h5m(
files_with_tags=[
('part1.stl', 'mat1'),
('part2.stl', 'mat2')
],
h5m_filename='dagmc.h5m'
)
To check for overlaps in the resulting h5m file one can use the DAGMC overlap checker. -p is the number of points to check on each line
conda install -c conda-forge dagmc
overlap_check dagmc.h5m -p 1000
This package is largely based on a script by @pshriwise