Skip to content

Commit bea1e25

Browse files
committed
Perform scaling during blueprints load.
1 parent 6d40dfe commit bea1e25

File tree

4 files changed

+10
-12
lines changed

4 files changed

+10
-12
lines changed

armi/physics/neutronics/globalFlux/globalFluxInterface.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,7 @@ def _undoGeometryTransformations(self):
645645
geomConverter = self.geomConverters.get("edgeAssems")
646646
if geomConverter:
647647
geomConverter.scaleParamsRelatedToSymmetry(
648-
self.r, paramsToScaleSubset=self.options.paramsToScaleSubset
648+
self.r.core, paramsToScaleSubset=self.options.paramsToScaleSubset
649649
)
650650

651651
# Resets the reactor core model to the correct symmetry and removes

armi/reactor/blueprints/reactorBlueprint.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ def _modifyGeometry(self, container, gridDesign):
240240

241241
runLog.header("=========== Applying Geometry Modifications ===========")
242242
converter = geometryConverters.EdgeAssemblyChanger()
243+
converter.scaleParamsRelatedToSymmetry(container)
243244
converter.removeEdgeAssemblies(container)
244245

245246
# now update the spatial grid dimensions based on the populated children

armi/reactor/converters/geometryConverters.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1513,8 +1513,6 @@ def removeEdgeAssemblies(self, core):
15131513
assembliesOnLowerBoundary = core.getAssembliesOnSymmetryLine(
15141514
grids.BOUNDARY_0_DEGREES
15151515
)
1516-
1517-
self.scaleParamsRelatedToSymmetry(core.parent)
15181516
# Don't use newAssembliesAdded b/c this may be BOL cleaning of a fresh case that has edge
15191517
# assems.
15201518
edgeAssemblies = core.getAssembliesOnSymmetryLine(grids.BOUNDARY_120_DEGREES)
@@ -1540,7 +1538,7 @@ def removeEdgeAssemblies(self, core):
15401538
self.reset()
15411539

15421540
@staticmethod
1543-
def scaleParamsRelatedToSymmetry(reactor, paramsToScaleSubset=None):
1541+
def scaleParamsRelatedToSymmetry(core, paramsToScaleSubset=None):
15441542
"""
15451543
Scale volume-dependent params like power to account for cut-off edges.
15461544
@@ -1557,11 +1555,11 @@ def scaleParamsRelatedToSymmetry(reactor, paramsToScaleSubset=None):
15571555
"Scaling edge-assembly parameters to account for full hexes instead of two halves"
15581556
)
15591557
completeListOfParamsToScale = _generateListOfParamsToScale(
1560-
reactor, paramsToScaleSubset
1558+
core, paramsToScaleSubset
15611559
)
15621560
symmetricAssems = (
1563-
reactor.core.getAssembliesOnSymmetryLine(grids.BOUNDARY_0_DEGREES),
1564-
reactor.core.getAssembliesOnSymmetryLine(grids.BOUNDARY_120_DEGREES),
1561+
core.getAssembliesOnSymmetryLine(grids.BOUNDARY_0_DEGREES),
1562+
core.getAssembliesOnSymmetryLine(grids.BOUNDARY_120_DEGREES),
15651563
)
15661564
if not all(symmetricAssems):
15671565
runLog.extra("No edge-assemblies found to scale parameters for.")
@@ -1570,16 +1568,15 @@ def scaleParamsRelatedToSymmetry(reactor, paramsToScaleSubset=None):
15701568
for b, bSymmetric in zip(a, aSymmetric):
15711569
_scaleParamsInBlock(b, bSymmetric, completeListOfParamsToScale)
15721570

1573-
1574-
def _generateListOfParamsToScale(r, paramsToScaleSubset):
1571+
def _generateListOfParamsToScale(core, paramsToScaleSubset):
15751572
fluxParamsToScale = (
1576-
r.core.getFirstBlock()
1573+
core.getFirstBlock()
15771574
.p.paramDefs.inCategory(Category.fluxQuantities)
15781575
.inCategory(Category.multiGroupQuantities)
15791576
.names
15801577
)
15811578
listOfVolumeIntegratedParamsToScale = (
1582-
r.core.getFirstBlock()
1579+
core.getFirstBlock()
15831580
.p.paramDefs.atLocation(ParamLocation.VOLUME_INTEGRATED)
15841581
.since(SINCE_LAST_GEOMETRY_TRANSFORMATION)
15851582
)

armi/reactor/converters/tests/test_geometryConverters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ def getAssemByRingPos(ringPos: tuple):
320320
# must be added after geom transform
321321
for b in self.o.r.core.getBlocks():
322322
b.p.power = 1.0
323-
converter.scaleParamsRelatedToSymmetry(self.r)
323+
converter.scaleParamsRelatedToSymmetry(self.r.core)
324324
a = self.r.core.getAssembliesOnSymmetryLine(grids.BOUNDARY_0_DEGREES)[0]
325325
self.assertTrue(all(b.p.power == 2.0 for b in a), "Powers were not scaled")
326326

0 commit comments

Comments
 (0)