Add property for distances in CruciformPrism

This commit is contained in:
Paul Romano 2023-04-24 09:48:26 -05:00
parent 95e3f94630
commit da24021119
2 changed files with 19 additions and 0 deletions

View file

@ -1137,6 +1137,19 @@ class CruciformPrism(CompositeSurface):
def _surface_names(self):
return self._surfnames
@property
def distances(self):
return self._distances
@distances.setter
def distances(self, values):
values = np.array(values, dtype=float)
# Check for monotonicity
if (values[1:] > values[:-1]).all() or (values[1:] < values[:-1]).all():
self._distances = values
else:
raise ValueError("distances must be monotonic")
def __neg__(self):
n = len(self.distances)
regions = []

View file

@ -455,3 +455,9 @@ def test_cruciform_prism(axis):
# Make sure repr works
repr(s)
# Check that non-monotonic distances fail
with pytest.raises(ValueError):
openmc.model.CruciformPrism([1.0, 0.5, 2.0, 3.0])
with pytest.raises(ValueError):
openmc.model.CruciformPrism([3.0, 2.0, 0.5, 1.0])