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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for brep_to_h5m-0.4.2.tar.gz
Algorithm Hash digest
SHA256 b8b7f33e5338be86e6c4038afea26c298dae11d5a3c45ab2f30d80a41c198b0c
MD5 3fd982a2fc3aeb0d9d31d08693264566
BLAKE2b-256 5e2da37fd91e968d5d57654400d77b301654efa4369c18b426dfa91b692f387d

See more details on using hashes here.

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

Hashes for brep_to_h5m-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 689a36f59a372c7dc395eda9554f09f1398a08f8cd111ac3f5ae00e4bede25e4
MD5 867cda7cc01485a315cda3cab48ba764
BLAKE2b-256 a9bf2b8d904972fefa515a345c1c0000d01a7e7a4d3b2d06f7ef7e7713a70bf8

See more details on using hashes here.

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