Skip to main content

Converts Brep CAD geometry files to h5m geometry files compatible with DAGMC simulations

Project description

N|Python

CI with install

anaconda-publish Upload Python Package

conda-publish PyPI

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brep_to_h5m-0.4.2.tar.gz (26.5 kB view hashes)

Uploaded Source

Built Distribution

brep_to_h5m-0.4.2-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page