Depletion into MGXS Generation for Full Reactor Sim

For anyone reading this in the future, I decided on the following solution which solves a number of problems simultaneously. The idea is to create a library of fuel compositions for intervals of burnup (perhaps every 0.5%). You can get these compositions by running a depletion calculation followed by the following code described in the solution to this other post here. This returns a new materials.xml file containing your compositions with the fission products. This would of course take some time, for my needs it will be ~50 simulations, and they need to be fairly beefy for precision. However, once this library of reference compositions is done, you shouldn’t need to do any depletions anymore. Then run the python file (not openmc simulation) and replace the fuel composition data from the python file that was ported into the materials.xml file with the desired burnup sample composition for the desired elements from the library (I have a unique element universe for each lattice position). Also, make sure that the materials = openmc.Materials and materials.export_to_xml() code lines are commented out, as these will overwrite your edited materials.xml file. Now you can move elements around within the lattice and perform a “jump-in” style simulation. This also solves some issues with tallies (MGXS tallies in my case) as you will be running in ‘eigenvalue’ mode instead of ‘depletion’ mode. Also, don’t forget that power level effects compositions like Xe135. If you are varying power level, you would need to 2D matrix of burnup and power for your library.

1 Like