Skip to content

Commit ea73f1c

Browse files
authored
Raising error in invalid xsTypeNum condition (#2042)
1 parent 66551d5 commit ea73f1c

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

armi/physics/neutronics/crossSectionGroupManager.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def getXSTypeNumberFromLabel(xsTypeLabel: str) -> int:
9595
return int("".join(["{:02d}".format(ord(si)) for si in xsTypeLabel]))
9696

9797

98-
def getXSTypeLabelFromNumber(xsTypeNumber: int) -> int:
98+
def getXSTypeLabelFromNumber(xsTypeNumber: int) -> str:
9999
"""
100100
Convert a XSID label (e.g. 65) to an XS label (e.g. 'A').
101101
@@ -107,6 +107,11 @@ def getXSTypeLabelFromNumber(xsTypeNumber: int) -> int:
107107
if xsTypeNumber > ord("Z"):
108108
# two digit. Parse
109109
return chr(int(str(xsTypeNumber)[:2])) + chr(int(str(xsTypeNumber)[2:]))
110+
elif xsTypeNumber < ord("A"):
111+
raise ValueError(
112+
f"Cannot convert invalid xsTypeNumber `{xsTypeNumber}` to char. "
113+
"The number must be >= 65 (corresponding to 'A')."
114+
)
110115
else:
111116
return chr(xsTypeNumber)
112117
except ValueError:

armi/reactor/tests/test_assemblies.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def setUp(self):
219219
"residence": 4.0,
220220
"smearDensity": 0.6996721711791459,
221221
"timeToLimit": 2.7e5,
222-
"xsTypeNum": 40,
222+
"xsTypeNum": 65,
223223
"zbottom": 97.3521,
224224
"ztop": 111.80279999999999,
225225
}
@@ -776,9 +776,9 @@ def test_calcTotalParam(self):
776776
# Set the 1st block to have higher params than the rest.
777777
self.blockParamsTemp = {}
778778
for key, val in self.blockParams.items():
779-
b.p[key] = self.blockParamsTemp[key] = (
780-
val * i
781-
) # Iterate with i in self.assemNum, so higher assemNums get the high values.
779+
# Iterate with i in self.assemNum, so higher assemNums get the high values.
780+
if key != "xsTypeNum": # must keep valid
781+
b.p[key] = self.blockParamsTemp[key] = val * i
782782

783783
b.setHeight(self.height)
784784
b.setType("fuel")

armi/utils/tests/test_reportPlotting.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ def test_xsHistoryVsTime(self):
118118
class HistTester:
119119
def __init__(self):
120120
self.xsHistory = {
121-
1: [[0, 1], [0, 2], [0, 3]],
122-
2: [[0, 5], [0, 6], [0, 7]],
121+
65: [[0, 1], [0, 2], [0, 3]],
122+
66: [[0, 5], [0, 6], [0, 7]],
123123
}
124124

125125
history = HistTester()

0 commit comments

Comments
 (0)