Hello,
I’m generating decay chains for various libraries from their endf files. I think I get this correct (the burnup calculations look fine, but kind of slow since there are 3000+ nuclides).
Thus I try to get the chain down to the size of the CASL chain with
mychain.reduce(casl_isos, 0)
The chain size is then reduced, but the fission yields add up to something like 0.1, as opposed to 1.8 in the casl chain. And the burnup calculations afterwards are not too pretty!
Am I missing something in the supposed behavior of the chain.reduce() function ?
Hey @Fausto! I don’t see any obvious reason why that wouldn’t work. Do you have some Python code you can share that demonstrates this? Or even just the list of casl_isos
that you are using?
Here is some python code to compare fission yields for U235 for CASL chain (from OpenMC site), B80 chain (from OpenMC site), and a B80 reduced chain from a reduce instruction:
c_vera = openmc.deplete.Chain.from_xml("chain_casl_pwr.xml")
vera_isos = [x.name for x in c_vera.nuclides]
fy_vera = c_vera.fission_yields[0]["U235"]
c_b80 = openmc.deplete.Chain.from_xml("endfb-viii.0-hdf5/chain_endfb80_pwr.xml")
fy_b80 = c_b80.fission_yields[0]["U235"]
newc = c_b80.reduce(vera_isos, 0)
fy_reduced = newc.fission_yields[0]["U235"]
for iso in fy_vera.keys():
print(iso, fy_b80[iso], fy_reduced[iso], fy_vera[iso])
in the output file (joined) we see that some fission product yields (Ru103-106; Nd145-149, etc) are largely bigger in the casl chain than in the reduced chain (where they are always equal to the B80 full chain)
toto.xml (6.0 KB)
It seems to me that in the reduced chains cumulative fission yields should be computed and used, instead of the independent ones.
Auxiliary question. Calculations with the casl chain give results very similar to the full B8.0 chain. This begs the question: where are those decay constants and (especially) fission yields coming from ?