You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was investigating the ACE tool, since I was plotting some cross sections. When calculating the fission to absorption ratio, I stumbled upon a bug (since absorption could not be lower than fission).
I plotted then sigma_a together with MT102 for U235 and U238 and found perfect overlap.
Numpy array_equal confirms that the arrays are the same.
To Reproduce
Import the ACE library from Serpent 2 (I used 92235JEF311.ace).
Get a table, such as 92235.12c that I used.
Plot sigma_a and MT102 and see the overlap like in the figures provided.
Use numpy array_equal to confirm.
Expected Behavior
I would expect sigma_a to be the sum of fission and all forms of neutron capture.
Hi, and welcome to PyNE! 👋 Thanks for opening your first issue. We recommend that you include information such as the version of PyNE you're working with (eg, develop branch or a specific version), the platform you are operating on, the expected behavior, and the actual behavior you are bringing our attention to. The more deatil you provide, the better others in this community will be able to help you.
So looking at the ACE implementation in pyne/ace.pyx, what is labeled as the absorption cross section (sigma_a) is actually the disappearance cross section (MT101). The absorption cross section (MT27) is the sum of MT101 + MT18. The reason then that you are seeing a perfect agreement is that the capture cross section (MT102) is the only disappearance reaction provided in the evaluation you are examining.
I see three ways to solve this:
Simply re-label sigma_a to be sigma_disap, and update the documentation accordingly. This is the easiest option.
Change the code so that what is currently called sigma_a is indeed the absorption cross section MT27. This would require adding MT18 to it, or if not present, adding MT 19, 20 21, and 38.
Add a sigma_disap attribute to the class, while keeping the sigma_a attribute, but make sure that both have their proper values.
I would certainly be willing to implement any one of these, but I am not that familiar with the project, and don't know what might break if I just start changing these variable names. Any sugestions on which solution should be implemented @gonuke and @bam241 ?
Describe the Bug
I was investigating the ACE tool, since I was plotting some cross sections. When calculating the fission to absorption ratio, I stumbled upon a bug (since absorption could not be lower than fission).
I plotted then sigma_a together with MT102 for U235 and U238 and found perfect overlap.
Numpy array_equal confirms that the arrays are the same.
To Reproduce
Import the ACE library from Serpent 2 (I used 92235JEF311.ace).
Get a table, such as 92235.12c that I used.
Plot sigma_a and MT102 and see the overlap like in the figures provided.
Use numpy array_equal to confirm.
Expected Behavior
I would expect sigma_a to be the sum of fission and all forms of neutron capture.
Screenshots or Code Snippets
U235_1200K_absorption_bug.pdf
U238_1200K_absorption_bug.pdf
Please complete the following information regarding your system:
The text was updated successfully, but these errors were encountered: