openmc icon indicating copy to clipboard operation
openmc copied to clipboard

using openmc.deplete.Chain results in negative branching ratios for JEFF-3.3

Open nplinden opened this issue 1 year ago • 1 comments

Bug Description

Hi, generating a JEFF-3.3 depletion chain using the openmc.deplete.Chain object (for instance using this script from @shimwell's repo) results in 5 isotope having negative decay branching ratios, namely:

  • Cd99
  • Cs119
  • Cs120
  • Cs120_m1
  • Bk249

Manually inspecting the corresponding decay files, it seems the sum of branching ratios for these isotopes' decay add up to more than one.

For instance Cs120 has the following decay modes:

  • ec/beta+ br = 1.0
  • ec/beta+,alpha br = 2e-7
  • ec/beta+,p br = 7e-8

This adds up to 1.00000027. When generating the chain using OpenMC, line 399 to 404 in this file tweak the last BR to ensure that the sum is equal to one. For our five nuclides, this results in the last BR becoming negative.

Though having BRs adding up to more that one is weird, I am not sure tweaking the last one is the right approach, as it leads to unphysical effects. Why not renormalize all BRs by dividing them by the total?

I can make a small PR if it needs changing but I'd like to have an additionnal opinion on the normalization strategy, and the reasonning behind the current approach.

Steps to Reproduce

In a directory containing JEFF-3.3 decay files available here:

import openmc.deplete
from pathlib import Path
chain = openmc.deplete.Chain.from_endf(decay_files=Path(".").glob("*.ASC"), fpy_files=[], neutron_files=[])
modes = chain.nuclides[chain.nuclide_dict["Cs120"]].decay_modes
print(modes)

Environment

Tested using OpenMC's latest develop branch.

Cheers, Nicolas

nplinden avatar May 13 '24 14:05 nplinden

@nplinden Thanks for reporting this. Rather than renormalizing by dividing by the total (which will change all the BRs), perhaps we can change it to subtract from the largest BR (instead of the last), which should also avoid the negative issue. Would you be able to implement that?

paulromano avatar Jul 02 '24 21:07 paulromano

Addressed in #3080

pshriwise avatar Sep 13 '24 21:09 pshriwise