@@ -413,6 +413,8 @@ def from_endf(cls, decay_files, fpy_files, neutron_files,
413413 type_ = ',' .join (mode .modes )
414414 if mode .daughter in decay_data :
415415 target = mode .daughter
416+ elif 'sf' in type_ :
417+ target = None
416418 else :
417419 print ('missing {} {} {}' .format (
418420 parent , type_ , mode .daughter ))
@@ -641,7 +643,7 @@ def setval(i, j, val):
641643
642644 # Allow for total annihilation for debug purposes
643645 if branch_val != 0.0 :
644- if target is not None :
646+ if target is not None and 'sf' not in decay_type :
645647 k = self .nuclide_dict [target ]
646648 setval (k , i , branch_val )
647649
@@ -731,11 +733,12 @@ def setval(i, j, val):
731733
732734 # Determine light nuclide production, e.g., (n,d) should
733735 # produce H2
734- light_nucs = REACTIONS [r_type ].secondaries
735- for light_nuc in light_nucs :
736- k = self .nuclide_dict .get (light_nuc )
737- if k is not None :
738- setval (k , i , path_rate * br )
736+ if path_rate != 0.0 :
737+ light_nucs = REACTIONS [r_type ].secondaries
738+ for light_nuc in light_nucs :
739+ k = self .nuclide_dict .get (light_nuc )
740+ if k is not None :
741+ setval (k , i , path_rate * br )
739742
740743 else :
741744 for product , y in fission_yields [nuc .name ].items ():
0 commit comments