Converts Brep CAD geometry files to h5m geometry files compatible with DAGMC simulations
Project description
brep_to_h5m
A Python package that converts Brep CAD geometry files to h5m geometry files compatible with DAGMC simulations.
The method uses gmsh to create a conformal mesh of the geometry. The mesh is then converted into a h5m file using either the vertices-to-h5m (default) or stl-to-h5m package.
Installation (Conda)
Create a new enviroment and activate the enviroment.
conda create --name my_env
conda activate my_env
Then install this package
conda install -c fusion-energy -c conda-forge brep_to_h5m
The above command should also install moab
and gmsh
Installation (Conda + pip)
Create a new enviroment and activate the enviroment.
conda create --name my_env
conda activate my_env
Install dependancies that are not installed with pip (MOAB and GMSH)
conda install -c conda-forge moab
conda install -c conda-forge gmsh
conda install -c conda-forge python-gmsh
Then install this package
pip install brep_to_h5m
Usage
See the examples folder for a complete workflow from geometry creation to conversion to h5m and then use in and OpenMC simulation.
To make a Brep file with merged surfaces consider using the Paramak as it has a export_brep
method that merges the shared surfaces for Brep files.
Starting with a Brep file that has shared surfaces the following command should produce a DAGMC compatible h5m file.
from brep_to_h5m import brep_to_h5m
brep_to_h5m(
brep_filename='my_brep_file_with_merged_surfaces.brep',
material_tags=[
'material_for_volume_1',
'material_for_volume_2',
'material_for_volume_3',
'material_for_volume_4',
'material_for_volume_5',
'material_for_volume_6',
'material_for_volume_7',
'material_for_volume_8',
],
h5m_filename='dagmc.h5m',
min_mesh_size= 30,
max_mesh_size = 50,
mesh_algorithm = 1,
)
The resulting dagmc.h5m
file can now be used in neutronics simulation with DAGMC enabled transport codes.
Acknowledgement
Many thanks to @makeclean for suggesting gmsh for meshing and Brep for the CAD file format. Also for showing the way forwards by starting gmsh2dagmc.
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
Built Distribution
File details
Details for the file brep_to_h5m-0.4.2.tar.gz
.
File metadata
- Download URL: brep_to_h5m-0.4.2.tar.gz
- Upload date:
- Size: 26.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8b7f33e5338be86e6c4038afea26c298dae11d5a3c45ab2f30d80a41c198b0c |
|
MD5 | 3fd982a2fc3aeb0d9d31d08693264566 |
|
BLAKE2b-256 | 5e2da37fd91e968d5d57654400d77b301654efa4369c18b426dfa91b692f387d |
File details
Details for the file brep_to_h5m-0.4.2-py3-none-any.whl
.
File metadata
- Download URL: brep_to_h5m-0.4.2-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 689a36f59a372c7dc395eda9554f09f1398a08f8cd111ac3f5ae00e4bede25e4 |
|
MD5 | 867cda7cc01485a315cda3cab48ba764 |
|
BLAKE2b-256 | a9bf2b8d904972fefa515a345c1c0000d01a7e7a4d3b2d06f7ef7e7713a70bf8 |