American Nuclear Society
Home

Home / Publications / Journals / Nuclear Science and Engineering / Volume 194 / Number 11

serpentTools: A Python Package for Expediting Analysis with Serpent

Andrew E. Johnson, Dan Kotlyar, Stefano Terlizzi, Gavin Ridley

Nuclear Science and Engineering / Volume 194 / Number 11 / November 2020 / Pages 1016-1024

Technical Paper / dx.doi.org/10.1080/00295639.2020.1723992

Received:November 15, 2019
Accepted:January 28, 2020
Published:October 21, 2020

The serpentTools Python package is presented as a useful and efficient alternative for processing Serpent results. One positive attribute of Serpent is that many output files are exported directly in a MATLAB format, allowing for results to be loaded with minimal to no effort. However, some files for larger analyses may require immense amounts of memory to load and store all the data, leading to long wait times. To expedite the process of data handling and ease common analyses, the Computational Reactor Engineering lab at the Georgia Institute of Technology has released and is maintaining the serpentTools Python package: a set of data parsers and containers intended to streamline analysis with Serpent outputs. The parsers are capable of processing large outputs with ease, and yield all data to the user in a simple object-oriented framework. Data can be read into Python in comparable or better times than MATLAB, with the option to store only data needed for a specific purpose. Furthermore, common analyses are implemented directly into the package to expedite frequent analysis, including plotting meshed data and flux specta. serpentTools is designed to be a useful and practical manner by which the Serpent community can load and analyze data inside a Python environment. This paper presents the Python package, highlighting some basic features, and compares capabilities to similar platforms.