Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TENDL depletion chain generation script (and two others) #41

Merged
merged 7 commits into from
Sep 30, 2020

Conversation

paulromano
Copy link
Contributor

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 present
  • reduce_chain.py -- a script for using the Chain.reduce method to minimize the number of nuclides present in the chain using all stable/long-lived nuclides as a starting point

@paulromano paulromano requested a review from shimwell August 7, 2020 18:55
@AI-Pranto
Copy link
Contributor

@paulromano Looks like, It can't find the complete list of transmutation reactions in openmc.deplete.chain.REACTIONS.

Traceback (most recent call last):
  File "generate_tendl_chain.py", line 117, in <module>
    main()
  File "generate_tendl_chain.py", line 111, in main
    reactions=dep.chain.REACTIONS.keys()
AttributeError: module 'openmc.deplete.chain' has no attribute 'REACTIONS'

@paulromano
Copy link
Contributor Author

@AI-Pranto This script relies on a recent addition to OpenMC (see this PR). If you run this script based on the develop branch of OpenMC, it should work fine.

@AI-Pranto
Copy link
Contributor

My bad :(
I was running two scripts simultaneously on openmc-0.12 and openmc-dev branch. Thanks @paulromano

@shimwell
Copy link
Member

Sorry totally forgot about this, testing and reviewing now

@shimwell
Copy link
Member

All works over here

@shimwell shimwell merged commit 4f445cb into openmc-dev:master Sep 30, 2020
@paulromano paulromano deleted the tendl-chain branch October 2, 2020 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants