diff --git a/openmc/deplete/nuclide.py b/openmc/deplete/nuclide.py index db503c8a59..a989bf7029 100644 --- a/openmc/deplete/nuclide.py +++ b/openmc/deplete/nuclide.py @@ -321,8 +321,8 @@ class Nuclide(object): valid = False if self.yield_data: - for energy, yield_list in self.yield_data.items(): - sum_yield = sum(y[1] for y in yield_list) + for energy, fission_yield in self.yield_data.items(): + sum_yield = fission_yield.yields.sum() stat = 2.0 - tolerance <= sum_yield <= 2.0 + tolerance if stat: continue diff --git a/tests/unit_tests/test_deplete_chain.py b/tests/unit_tests/test_deplete_chain.py index ce45b84d27..bdaf6c5ab1 100644 --- a/tests/unit_tests/test_deplete_chain.py +++ b/tests/unit_tests/test_deplete_chain.py @@ -377,7 +377,7 @@ def test_validate(simple_chain): # Fix fission yields but keep to restore later old_yields = simple_chain["C"].yield_data - simple_chain["C"].yield_data = {0.0253: [("A", 1.4), ("B", 0.6)]} + simple_chain["C"].yield_data = {0.0253: {"A": 1.4, "B": 0.6}} assert simple_chain.validate(strict=True, tolerance=0.0) with pytest.warns(None) as record: diff --git a/tests/unit_tests/test_deplete_nuclide.py b/tests/unit_tests/test_deplete_nuclide.py index d81691932b..6f5356b129 100644 --- a/tests/unit_tests/test_deplete_nuclide.py +++ b/tests/unit_tests/test_deplete_nuclide.py @@ -177,8 +177,8 @@ def test_validate(): # fission yields nuc.yield_data = { - 0.0253: [("0", 1.5), ("1", 0.5)], - 1e6: [("0", 1.5), ("1", 0.5)], + 0.0253: {"0": 1.5, "1": 0.5}, + 1e6: {"0": 1.5, "1": 0.5}, } # nuclide is good and should have no warnings raise @@ -212,7 +212,7 @@ def test_validate(): # restore reactions, invalidate fission yields nuc.reactions.append(reaction) - nuc.yield_data[1e6].pop() + nuc.yield_data[1e6].yields *= 2 with pytest.raises(ValueError, match=r"fission yields.*1\.0*e"): nuc.validate(strict=True, quiet=False, tolerance=0.0)