Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Combines open source packages to produce an automated fusion specific neutronics workflow

License

NotificationsYou must be signed in to change notification settings

fusion-energy/fusion_neutronics_workflow

Repository files navigation

CI with docker build

CI with install

docker-publish-release

Fusion Neutronics Workflow

fusion neutronics workflow

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.

Dockerfile

Quick start

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

Sharing files

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

Performance builds

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

Software Packages included

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

Stars

Watchers

Forks

Packages

 
 
 

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp