Monte Carlo (MC) transport codes are a cornerstone of nuclear reactor analysis frameworks, providing reference solutions and multigroup cross sections, and even as core components in multiphysics couplings. These applications can be seen in toolkits from the Nuclear Energy Advanced Modeling and Simulation program and the U.S. Nuclear Regulatory Commission’s BlueCRAB (Comprehensive Reactor Analysis Bundle). Contrary to their ubiquitousness in reactor physics modeling and simulation, popular MC codes, such as MCNP, Serpent, and KENO, are still reliant on antiquated textual input formats. These input languages use a plethora of keywords with terse syntax to specify all facets of a model, including its geometry, materials, physics settings, and tally options. This poses a steep learning curve and a poor user experience. Being tied to unique text-based input formats also significantly complicates programmatic input generation or modification that may be desired and/or required within a multiphysics framework. This work demonstrates how the development of programmatic interfaces for MC codes can support model unification and translation activities. Building on the Python application program interface (API) development of MCNPy, similar capabilities are being implemented for Serpent that are able to support model translation. In future work, the Serpent API capabilities will be made more robust and the work will be further expanded to include translations with KENO.
Read full abstract