From c08d9bc142d292ccd78cd4596c9cf504fb067cf9 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Fri, 27 Aug 2021 11:08:42 -0500 Subject: [PATCH] Fix get_decay_modes ('unknown' wasn't recognized) --- openmc/data/decay.py | 7 +++++-- tests/unit_tests/test_data_decay.py | 12 ++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/openmc/data/decay.py b/openmc/data/decay.py index 3e7d9599c6..a4e5405a2b 100644 --- a/openmc/data/decay.py +++ b/openmc/data/decay.py @@ -57,8 +57,11 @@ def get_decay_modes(value): List of successive decays, e.g. ('beta-', 'neutron') """ - return [_DECAY_MODES[int(x)][0] for x in - str(value).strip('0').replace('.', '')] + if int(value) == 10: + return ['unknown'] + else: + return [_DECAY_MODES[int(x)][0] for x in + str(value).strip('0').replace('.', '')] class FissionProductYields(EqualityMixin): diff --git a/tests/unit_tests/test_data_decay.py b/tests/unit_tests/test_data_decay.py index cb4560d515..06b8e6bedd 100644 --- a/tests/unit_tests/test_data_decay.py +++ b/tests/unit_tests/test_data_decay.py @@ -31,6 +31,18 @@ def u235_yields(): return openmc.data.FissionProductYields.from_endf(filename) +def test_get_decay_modes(): + assert openmc.data.get_decay_modes(1.0) == ['beta-'] + assert openmc.data.get_decay_modes(6.0) == ['sf'] + assert openmc.data.get_decay_modes(10.0) == ['unknown'] + + assert openmc.data.get_decay_modes(1.5) == ['beta-', 'n'] + assert openmc.data.get_decay_modes(1.4) == ['beta-', 'alpha'] + assert openmc.data.get_decay_modes(1.55) == ['beta-', 'n', 'n'] + assert openmc.data.get_decay_modes(1.555) == ['beta-', 'n', 'n', 'n'] + assert openmc.data.get_decay_modes(2.4) == ['ec/beta+', 'alpha'] + + def test_nb90_halflife(nb90): ufloat_close(nb90.half_life, ufloat(52560.0, 180.0)) ufloat_close(nb90.decay_constant, log(2.)/nb90.half_life)