Print warning if no natural isotopes when using add_element and wrote unit test (#2938)

Co-authored-by: Catherine Yu <cathyy@umich.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
This commit is contained in:
Catherine Yu 2024-04-24 17:05:10 -04:00 committed by GitHub
parent 1d56adbc3d
commit 3370ce1978
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 1 deletions

View file

@ -1,4 +1,5 @@
import re
import warnings
import lxml.etree as ET
@ -123,6 +124,10 @@ class Element(str):
# Get the nuclides present in nature
natural_nuclides = {name for name, abundance in natural_isotopes(self)}
# Issue warning if no existing nuclides
if len(natural_nuclides) == 0:
warnings.warn(f"No naturally occurring isotopes found for {self}.")
# Create dict to store the expanded nuclides and abundances
abundances = {}

View file

@ -1,5 +1,5 @@
import openmc
from pytest import approx, raises
from pytest import approx, raises, warns
from openmc.data import NATURAL_ABUNDANCE, atomic_mass
@ -37,6 +37,13 @@ def test_expand_enrichment():
assert isotope[1] == approx(ref[isotope[0]])
def test_expand_no_isotopes():
"""Test that correct warning is raised for elements with no isotopes"""
with warns(UserWarning, match='No naturally occurring'):
element = openmc.Element('Tc')
element.expand(100.0, 'ao')
def test_expand_exceptions():
""" Test that correct exceptions are raised for invalid input """