Search NASA⌕ Search

Engineering topics

McCartney, Austin Paul

Publications and source records attributed to McCartney, Austin Paul.

A JSON to CMake tool

As part of the conversion of the MCNP®testing system to CTest, a tool was needed to generate CMake variables from JSON formatted data structure. The system was first implemented using the JSON to CMake parser which with some slight modifications provided data useful for the MCNP CTest testing system. Upon further evaluation, we found it to be slow when setting up the 1600 tests during the CMake configuration step. Not only was it slow, it did not validate the JSON files during configuration allowing for unexpected behavior. Upon some web searching we came across a simple recursive python example that would provide the same capability needed by our testing system. This python example was effectively wrapped into a single python script that was used to convert the JSON data into CMake variables. This tool is attached as json_to_cmake.py and is listed in the appendix. In essence, the tool provides single variables for each value defined within the JSON file. The name for the variable is constructed by using the associated object names and array indicies needed to deference the variable itself. In the following sections, examples are provided to better describe how this is done.

97 MATHEMATICS AND COMPUTING↗

NJOY2016 updates for ENDF/B-VIII.0

Each release of the ENDF/B library often results in the introduction of new data formats in the ENDF-6 format. With ENDF/B-VIII.0 [1], which was released in February 2018, new formats were added for allowing tabulated fission energy release components in the MF1/MT458 section, to allow for sub-actinide fission and non-neutron induced fission in the MF8/MT18 and MF10/MT18 sections, and to add fission neutron and gamma emission probabilities in the MF6/MT18 section [2]. Processing codes must be adapted to ensure that they are capable of using these new data, or at the very least understand the new formats. NJOY2016, the production version of the nuclear data processing code developed at Los Alamos National Laboratory is no exception to this.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

User input verification and test driven development in the NJOY21 nuclear data processing code

Before physically-meaningful data can be used in nuclear simulation codes, the data must be interpreted and manipulated by a nuclear data processing code so as to extract the relevant quantities (e.g. cross sections and angular distributions). Perhaps the most popular and widely-trusted of these processing codes is NJOY, which has been developed and improved over the course of 10 major releases since its creation at Los Alamos National Laboratory in the mid-1970’s. The current phase of NJOY development is the creation of NJOY21, which will be a vast improvement from its predecessor, NJOY2016. Designed to be fast, intuitive, accessible, and capable of handling both established and modern formats of nuclear data, NJOY21 will address many issues that many NJOY users face, while remaining functional for those who prefer the existing format. Although early in its development, NJOY21 is quickly providing input validation to check user input. By providing rapid and helpful responses to users while writing input files, NJOY21 will prove to be more intuitive and easy to use than any of its predecessors. Furthermore, during its development, NJOY21 is subject to regular testing, such that its test coverage must strictly increase with the addition of any production code. This thorough testing will allow developers and NJOY users to establish confidence in NJOY21 as it gains functionality. This document serves as a discussion regarding the current state input checking and testing practices of NJOY21.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗