21–29 Jul 2022
Gather.Town
US/Pacific timezone
LLNL-WEB-834787

GIDI+: a GNDS 2.0 suite of C++ APIs to access nuclear and atomic data for use in neutronic transport codes.

25 Jul 2022, 10:06
12m
Delta King

Delta King

Speaker

Bret Beck (LLNL)

Description

Transport codes used to simulate reactors, critical assemblies, medical diagnostics, etc. need access to nuclear and atomic data (e.g., data from ENDF/B-VIII.0 and EPICS2017). The Generalized Nuclear Data Structure (GNDS) supports storing evaluated and processed nuclear and atomic data - processed data are data in a form more suitable for transport codes (e.g., cross sections reconstructed from resonance parameters, heated cross sections, multi-grouped data). The specification for version 2.0 of the GNDS standard has recently been finalized. In this talk we will describe GIDI+ which is a suite of C++ APIs for reading GNDS 2.0 data, performing multi-group operations and sampling the data for Monte Carlo transport.

GIDI+ is comprised of the following C++ APIs:

  • PoPI: Properties of Particles Interface
  • Supports reading and accessing GNDS PoPs data. PoPs data describe properties of particles including a particle’s mass, spin, halflife and decay particles.

  • GIDI: General Interaction Data Interface

  • Supports reading and accessing data in a GNDS reactionSuite. A reactionSuite describes the nuclear or atomic reactions for a projectile hitting a target (e.g., “n + O16”).
  • Supports reading GNDS map files. A map file links many reactionSuites together to form a nuclear and atomic data library.
  • Provides functions for finding and reading in a reactionSuite for a specified projectile and target (e.g., “n + Th232”) found in a map file.
  • Provides functions for accessing multi-group data in a reactionSuite which includes performing operations on the multi-group data (e.g., summing, collapsing and transport correcting with the Pendlebury/Underhill formalism).
  • Allows one to mark some reactions as disabled in a reactionSuite instance. Disables reactions are skipped by multi-group routines and MCGIDI. For example, one can disable the (n,3n) reaction. With this reaction disabled, a subsequent call to the total multi-group cross section will not include the (n,3n) cross section.
  • Support specifying modifications to reaction cross sections to perform sensitivity studies.

  • MCGIDI: Monte Carlo GIDI

  • Loads data from GIDI classes into classes that are better suited for Monte Carlo lookup, sampling and require less memory.
  • Provides functions to evaluate the total cross section or the cross section for a reaction.
  • Provides functions for sampling a reaction from the reactions in a reactionSuite.
  • Provides functions for sampling outgoing particle data for a reaction.
  • Supports continuous energy and multi-group cross section data.
  • Supports unresolved region probability tables.
  • Provides serializing a reactionSuite’s data which can then be broadcasted to MPI processes and GPUs.
  • Supports shared memory to reduce footprint.

Currently, GIDI+ supports transporting n, p, d, t, h, $\alpha$ and $\gamma$. For $\gamma$ both photo-atomic and photo-nuclear data are supported. For neutrons, Thermal Neutron Scattering Law data are supported. We are currently adding support for electron transport and will describe its status at the meeting.

GIDI+ is freely available under the open-source MIT license and can be downloaded from https://github.com/LLNL/gidiplus.

Prepared by LLNL under Contract DE-AC52-07NA27344.

LLNL-ABS-827368

Authors

Presentation materials