- Notifications
You must be signed in to change notification settings - Fork4
Combines open source packages to produce an automated fusion specific neutronics workflow
License
fusion-energy/fusion_neutronics_workflow
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Diagram showing the connectivity of software packages that make up the FusionNeutronics Workflow. Software that the user interacts with directly are shownin blue.
This repository contains a containerized neutronics workflow for carrying outstandard neutronics simulations in a repeatable manner.
There are workflows for producing standard neutronics simulations such as dosemaps, DPA tallies, neutron/photon spectra, 3D VTK visualizations and the aim isto provide working examples for mainstream fusion neutronics analysis.Contributions are welcome.
This repository combines the several packages to create neutronics workflowthat is:
- Automated - the entire workflow can be run automatically. Care has been takento code out all manual processes so that the neutronics analysis can beperformed in an API manner. As a result it is therefore possible to drivethe workflow with machine learning, optimization or parameter spacesampling methods.
- Scalable - by using efficient interfaces (Embree, Double Down) andaccelerated geometry (DAGMC) together with scalable Monte Carlo transport(OpenMC) the resulting workflow scales well with computational power.
- Deployable - By integrating open source software preferentially and ensuringcompatibility with containerization the combined workflow is straightforward to deploy. Instances have been run everywhere from cloud computingto local compute.
- Modular - individual packages created as part of the workflow are allavailable to install via PyPi pip installers or Conda installs. This allowsseparate components of the workflow to be easily installed as well as theworkflow asa whole. All interfaces are exposed and there is no vendor lockin for any aspect.
- Documented - documentation of installation procedures, use cases, examples,tutorials and even demonstration videos are all available.
The Dockerfile can build locally or a prebuilt one can be downloaded with
docker pull ghcr.io/fusion-energy/fusion-neutronics-workflow
The docker image can then be run with
docker run -it ghcr.io/fusion-energy/fusion-neutronics-workflow
To map a local folder to the docker container a volume mount can be used.The following example mounts the local folder that the command is being run from with the/home/fusion-neutronics-workflow/examples
that is inside the dockerimages
docker run -it -v$PWD:/home/fusion-neutronics-workflow/examples ghcr.io/fusion-energy/fusion-neutronics-workflow
There are additional higher performance docker images available if your CPUsupports vectorization instructions available Embree.
Download a prebuilt docker image with Embree and Double Down enabled
docker pull ghcr.io/fusion-energy/fusion-neutronics-workflow:embree
Download a prebuilt docker image with Embree compiled with AVX instruction set and Double Down enabled
docker pull ghcr.io/fusion-energy/fusion-neutronics-workflow:embree-avx
Links to the packages that are utilized by the fusion-neutronics-workflow
Open source projects created and maintained
Paramak -automated production of fusion reactor CAD models (stp and stl files) fromparameters.
stl_to_h5m automatedconversion of STL files to h5m files compatible with DAGMC enabledparticle transport codes.
openmc_dagmc_wrapperallows one to quickly utilise the h5m geometry files in a range ofstandard OpenMC based neutronics simulations.
neutronics-material-makerCreate and customise materials from an internal database or from your ownrecipe, export to a wide range of neutronics codes.
openmc_tally_unit_converter converts the units of common tally such asheating, DPA, effective dose into user specified units.
openmc_data_downloader performs on the fly downloading of nuclear data needed for OpenMC neutronics simulations.
openmc_data downloading and processing of nuclear data needed for OpenMC neutronics simulations.
openmc-plasma-sourceCreates a plasma source as an openmc.source object from input parameters that describe the plasma
spectrum_plotterA Python package for creating publication quality plots for neutron / photon / particle spectrum
openmc_mesh_tally_to_vtkA Python package for converting OpenMC mesh tallies to VTK files and optionally converting the units
regular_mesh_plotterA Python package for plotting regular mesh tally results from neutronics simulations.
dagmc_geometry_slice_plotter A minimal Python package that produces slice plots through h5m DAGMC geometry files
dagmc_bounding_boxFinds the bounding box and related properties of a DAGMC geometry
remove_dagmc_tags A python package and command line tool for removing DAGMC tags such as graveyard and vacuum
dagmc_h5m_file_inspectorExtracts information from DAGMC h5m files including volumes number, material tags
brep_to_h5m Converts Brep CAD geometry files to h5m geometry files compatible with DAGMC simulations
brep_part_finder A Python package to identify the part ID number in Brep format CAD files
Open source projects that are utilized and contributed to
OpenMC The OpenMC project, aMonte Carlo particle transport code based on modern methods.
DAGMC Direct Accelerated GeometryMonte Carlo Toolkit
SphinxCadQuery An extension to visualize CadQuery 3D files in your Sphinx documentation
Open source projects utilized in the software stack
MOAB and pymoab theMesh-Oriented datABase MOAB is a component for representing and evaluatingmesh data.
CadQuery A python parametric CADscripting framework based on OCCT
Double-Down A double precisioninterface to Embree via the Mesh Oriented dAtaBase (MOAB).
Embree high-performance ray tracingkernels
Gmsh A three-dimensional finiteelement mesh generator with built-in pre- and post-processing facilities
Scipy, Numpy, Plotly, Pint and other standard scientific Python packages
About
Combines open source packages to produce an automated fusion specific neutronics workflow
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.