Search NASA⌕ Search

Engineering topics

Zukaitis, Anthony J.

Publications and source records attributed to Zukaitis, Anthony J..

Docker Containers for MCNP ® Development

Containers are a revolutionary technology in software development and deployment that provides a lightweight, portable environment for ensuring consistency across multiple computing environments. In anticipation of the MCNP 6.3.1 release, two Docker container images have been released on DockerHub for general use. The MCNP source code is not included in the images, and users are still required to obtain it through RSICC. The images produced by Docker are compliant with the OCI (Open Container Initiative) standards, ensuring compatibility with other container engines such as Podman or Kubernetes’ CRI-O. Initially, the images are stored under the author’s personal space on DockerHub (docker.io/azukaitis), but they will be relocated to a dedicated MCNP group space once approved. In the future, they will also be available through the registry feature of the https://github.com/lanl/mcnp-containers project. The use of Docker provides a pre-configured environment for building and running MCNP, ensuring reproducibility of results across various host architectures. This significantly improves consistency when running MCNP on different systems. Notably, executables and installers from the Docker images have successfully passed the MCNP development branch testing suite on x86-64 architectures, including Windows, macOS, and Linux operating systems. Furthermore, testing has demonstrated compatibility with macOS Docker in emulation mode on the latest Apple Mac M2 Ultra hardware, ensuring robust support even on the latest platforms. In this document, we will provide a step-by-step guide to using the Docker images across multiple platforms. Additionally, we will present performance numbers for building and running the MCNP test suite.

97 MATHEMATICS AND COMPUTING↗

MCNP ® Code Version 6.3.1 Theory & User Manual

This document acts as a repository of knowledge for the Monte Carlo N-Particle (MCNP) transport computer code. It is maintained alongside the source code and attempts to introduce new users and re-familiarize experienced users with the theory and practices of using the MCNP code for the wide range of particle transport analyses that it is appropriate for. The latest version of the MCNP code, version 6.3.1, provides the Monte Carlo particle transport community with the latest feature developments and bug fixes in the MCNP code. The MCNP code version 6.0 and later is also known as the MCNP6 code.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

MCNP ® Code V.6.3.0 Release Notes

The Monte Carlo N-Particle ® (MCNP ® ) code is a general-purpose, continuous-energy, generalized geometry, time-dependent, radiation transport code developed by the MCNP development team. The MCNP calculations provide predictive capabilities that can replace expensive or impossible-to perform experiments. Specific application problems include simulations of experimental diagnostics, intrinsic radiation, radiation detection and measurement, criticality safety, nuclear threat reduction and response, radiation health protection, nuclear weapons effects, and nuclear forensics. This MCNP code, version 6.3.0, follows the MCNP6.2.0 version. Since the release of MCNP6.2.0, many changes have been made to the MCNP code. These changes include new or improved features, a new build system, code enhancement and modernization, and bug fixes. The MCNP code, version 6.3.0, theory and user input information is documented in MCNP ® Code Version 6.3.0 Theory & User Manual, the build guidance for various platforms is documented in MCNP ® Code Version 6.3.0 Build Guide, and the verification and validation testing for various application benchmark test suites is documented in MCNP ® Code Version 6.3.0 Verification & Validation Testing.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

MCNP ® Code Version 6.3.0 Theory & User Manual

This document acts as a repository of knowledge for the Monte Carlo N-Particle (MCNP) transport computer code. It is maintained alongside the source code and attempts to introduce new users and re-familiarize experienced users with the theory and practices of using the MCNP code for the wide range of particle transport analyses that it is appropriate for. The latest version of the MCNP code, version 6.3.0, provides the Monte Carlo particle transport community with the latest feature developments and bug fixes in the MCNP code. The MCNP code version 6.0 and later is also known as the MCNP6 code.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

The MCNPTools Package: Installation and Use

MCNPTools is a C++ software library bound to Python (2 & 3) via the Simplified Wrapper and Interface Generator (SWIG version 3.0.7). The report lists the minimum build requirements and the compiler options that are currently tested and supported.

97 MATHEMATICS AND COMPUTING↗

Upcoming MCNP6.3 ® Release: New Features and Improvements [Slides]

The latest version of the MCNP6.3 code will be done and released this year. Many new features, substantial improvements, and bugfixes have made their way into the code. Improved documentation, testing, and peripheral tools will also be delivered.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Recent MCNP6 ® Code Developments and Improvements for Nuclear Engineering Applications [Slides]

The Los Alamos MCNP Monte Carlo radiation transport code has been the international gold standard for particle transport applications for over three decades. Many developments to the code have taken place with several significant new feature additions, major improvements, and enhancements to existing features. With significant institutional and programmatic investment in the code since the time of the last public release in 2018, important code development and infrastructure modernization has taken place and remains a high priority for all ongoing efforts across the code development team.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

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↗

Evaluating Equivalent Monte Carlo Calculations

We address several basic issues, primarily whether two sets of MCNP tallies are stochastically equivalent (i.e., that the sets of particle history scores follow the same statistical distribution) and, if di erent, quantify the signi cance level of the di erence. The underlying topics here are of longstanding interest to the statistical community, and no \new" theoretical work needs to be carried out to address them. Related comparisons are useful to code developers in assessing code modi cations and to code users in assessing other simulations and related physical measurements. However, these statistical methods must be applied with care to avoid obtaining misleading results, as we show in several examples. The text is written for MCNP practitioners.

97 MATHEMATICS AND COMPUTING↗

MCNP Version 6.2 Release Notes

Monte Carlo N-Particle or MCNP ® is a general-purpose Monte Carlo radiation-transport code designed to track many particle types over broad ranges of energies. This MCNP Version 6.2 follows the MCNP6.1.1 beta version and has been released in order to provide the radiation transport community with the latest feature developments and bug fixes for MCNP. Since the last release of MCNP major work has been conducted to improve the code base, add features, and provide tools to facilitate ease of use of MCNP version 6.2 as well as the analysis of results. These release notes serve as a general guide for the new/improved physics, source, data, tallies, unstructured mesh, code enhancements and tools. For more detailed information on each of the topics, please refer to the appropriate references or the user manual which can be found at http://mcnp.lanl.gov. This release of MCNP version 6.2 contains 39 new features in addition to 172 bug fixes and code enhancements. There are still some 33 known issues the user should familiarize themselves with (see Appendix).

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗