diff --git a/openmc/material.py b/openmc/material.py index 16b5923d7f..f83c63c14e 100644 --- a/openmc/material.py +++ b/openmc/material.py @@ -869,10 +869,9 @@ class Material(IDManagerMixin): nuc_density_types = [] for loop_nuclide in self.nuclides: - if nuclide is None or nuclide == loop_nuclide.name: - nucs.append(loop_nuclide.name) - nuc_densities.append(loop_nuclide.percent) - nuc_density_types.append(loop_nuclide.percent_type) + nucs.append(loop_nuclide.name) + nuc_densities.append(loop_nuclide.percent) + nuc_density_types.append(loop_nuclide.percent_type) nucs = np.array(nucs) nuc_densities = np.array(nuc_densities) @@ -904,7 +903,8 @@ class Material(IDManagerMixin): nuclides = OrderedDict() for n, nuc in enumerate(nucs): - nuclides[nuc] = nuc_densities[n] + if nuclide is None or nuclide == nuc: + nuclides[nuc] = nuc_densities[n] return nuclides diff --git a/tests/unit_tests/test_material.py b/tests/unit_tests/test_material.py index 1e5b8a797e..f841c805b2 100644 --- a/tests/unit_tests/test_material.py +++ b/tests/unit_tests/test_material.py @@ -341,9 +341,13 @@ def test_get_nuclide_atom_densities(uo2): def test_get_specific_nuclide_atom_densities(uo2): print(uo2) - nuc = uo2.get_nuclide_atom_densities(nuclide='O16') - assert list(nuc.keys()) == ['O16'] - assert list(nuc.values())[0] > 0 + one_nuc = uo2.get_nuclide_atom_densities(nuclide='O16') + assert list(one_nuc.keys()) == ['O16'] + assert list(one_nuc.values())[0] > 0 + + all_nuc = uo2.get_nuclide_atom_densities() + assert all_nuc['O16'] == one_nuc['O16'] + def test_get_nuclide_atoms():