Add TENDL depletion chain generation script (and two others) #41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a script to generate a depletion chain based on neutron data in TENDL 2019. While TENDL 2019 actually includes incident neutron data for 2812 nuclides (!), they distribute ACE files for 630 of those nuclides. This script uses that set of 630 nuclides as the basis for choosing what reactions can result in transmutation (this also impacts what nuclides are added to a model for depletion purposes). TENDL doesn't actually include decay or fission product yield sublibraries, so those need to be provided from elsewhere. The script has a flag that allows one to select either JEFF 3.3 or ENDF/B-VIII.0 for providing decay/FPY data (with JEFF 3.3 as the default).
Because the TENDL depletion chain is intended primarily for fusion applications, all potential transmutation reactions are included in the depletion chain rather than the traditional 7 that we normally include ((n,2n), (n,3n), (n,4n), (n,gamma), (n,p), (n,a), and fission) for fission applications. I would also note that there are multiple versions of TENDL that differ in their maximum energy. The default (S30) library goes up to 30 MeV and includes reactions up to MT=117. There is an S60 library that goes up to 60 MeV and includes many more exotic reactions with MT > 117.
Two other small scripts that are part of this PR:
add_branching_ratios.py
-- allows you to take an existing depletion chain and add branching ratios to it from one of the JSON files presentreduce_chain.py
-- a script for using theChain.reduce
method to minimize the number of nuclides present in the chain using all stable/long-lived nuclides as a starting point