The spentFuelCanisterSimulation library was created for the purpose of simulating the changing composition of aluminum canisters used to store spent fuel. It primarily relies on the open source Python library Cantera for simulating the reactions. The libary also relies on temperature data obtained from a CFD model created in STAR-CCM+.
The library was developed from an initial simulation file that used Canter 2.4 and Python 2.7. This module allows for easily simulating different canister situations without needing to copy long segments of code.
spentFuelCanisterSimulation has several documents. In addition to documentation used for conferences and reports, there are two documents reviewing the framework and use of the tool. canteraModelFramework reviews the equations and relationships used in the model. userGuide reviews how to use the entire tool, including both the CFD and python portion. Though this library only contains the python tool, having the documentation of the CFD portion helps to fully connect the python simulation to the real system.
In addition, this library contains examples, a few of which are highlighted in this document. These examples can be found in docs\examples directory.
The diagram below gives a general overview of the modules in spentFuelCanister:
While some of the modules can use output files from other modules, there is not an automatic connection, such as the YAML files outputted by the convert_cti_to_yaml and used by canisterModel.
The diagram below gives a general overview of the actual simulation in the canisterModel module:
This library has been developed on Python 3.12 and used the following libraries and their versions:
pip install cantera # 3.0.1
pip install graphviz # 0.20.3
pip install matplotlib # 3.10.0
pip install numpy # 1.26.4
pip install pandas # 2.2.2
pip install pyyaml # 6.0.2
Note that that the pip install of graphviz only installs the Python wrapper. The system binaries need to be installed separately from Graphviz
The following libraries were also used and are part of Python's standard libary. Their versions will match the Python installation.
import copy
import datetime
import gc
import math
import os
import re
import subprocess
import sys
import tempfile
This libary comes with examples that demonstrate how to use the library.
- CSTR_HE: One of the original python files used. In addition to a version that relies on this module, the original version (Cantera 2.4 and Python 2.7) and updated base version (Cantera 3.0 and Python 3.12) that do not rely on this module have been included. This example also includes expected file outputs for the original and update base version.
- Michael Barkdull, The University of Utah, 'barkdullm99@gmail.com'
- James Sutherland, The University of Utah
- Donna Post Guillen, Idaho National Laboratory

