diff --git a/armi/physics/neutronics/parameters.py b/armi/physics/neutronics/parameters.py index 8a1fe66a4..1a12a6328 100644 --- a/armi/physics/neutronics/parameters.py +++ b/armi/physics/neutronics/parameters.py @@ -492,7 +492,10 @@ def linPowByPinGamma(self, value): ) pb.defParam( - "pdens", units="W/cm$^3$", description="Average volumetric power density" + "pdens", + units="W/cm$^3$", + description="Average volumetric power density", + categories=[parameters.Category.neutronics], ) pb.defParam( @@ -620,7 +623,12 @@ def linPowByPinGamma(self, value): categories=[parameters.Category.gamma], ) - pb.defParam("power", units="W", description="Total power") + pb.defParam( + "power", + units="W", + description="Total power", + categories=[parameters.Category.neutronics], + ) pb.defParam("powerDecay", units="W", description="Total decay power") diff --git a/armi/reactor/blocks.py b/armi/reactor/blocks.py index 66956d066..63a6813b7 100644 --- a/armi/reactor/blocks.py +++ b/armi/reactor/blocks.py @@ -1596,6 +1596,7 @@ def _createHomogenizedCopy(self, pinSpatialLocators=False): hexComponent.setNumberDensities(self.getNumberDensities()) b.add(hexComponent) + b.p.nPins = self.p.nPins if pinSpatialLocators: # create a null component with cladding flags and spatialLocator from source block's # clad components in case pin locations need to be known for physics solver diff --git a/armi/reactor/converters/tests/test_uniformMesh.py b/armi/reactor/converters/tests/test_uniformMesh.py index abe095f5d..342de4a7c 100644 --- a/armi/reactor/converters/tests/test_uniformMesh.py +++ b/armi/reactor/converters/tests/test_uniformMesh.py @@ -424,6 +424,7 @@ def test_applyStateToOriginal(self): for b in self.converter.convReactor.core.getBlocks(): b.p.powerGamma = 0.5 b.p.powerNeutron = 0.5 + b.p.power = b.p.powerGamma + b.p.powerNeutron # check integral and density params assemblyPowers = [ @@ -446,11 +447,11 @@ def test_applyStateToOriginal(self): self.assertEqual(b.p.fastFlux, 2.0) self.assertEqual(b.p.flux, 5.0) self.assertEqual(b.p.fastFlux, 2.0) - self.assertEqual(b.p.power, 5.0) # not equal because blocks are different size self.assertNotEqual(b.p.powerGamma, 0.5) self.assertNotEqual(b.p.powerNeutron, 0.5) + self.assertNotEqual(b.p.power, 1.0) # equal because these are mapped for expectedPower, expectedGammaPower, a in zip( diff --git a/armi/reactor/converters/uniformMesh.py b/armi/reactor/converters/uniformMesh.py index 5be1a7405..929edc197 100644 --- a/armi/reactor/converters/uniformMesh.py +++ b/armi/reactor/converters/uniformMesh.py @@ -934,6 +934,7 @@ class GammaUniformMeshConverter(UniformMeshGeometryConverter): ], "out": [ parameters.Category.gamma, + parameters.Category.neutronics, ], } diff --git a/armi/reactor/tests/test_blocks.py b/armi/reactor/tests/test_blocks.py index fa31c2dcf..f36438745 100644 --- a/armi/reactor/tests/test_blocks.py +++ b/armi/reactor/tests/test_blocks.py @@ -467,6 +467,7 @@ def test_homogenizedMixture(self): if arg: # check that homogenized block has correct pin coordinates self.assertEqual(self.block.getNumPins(), homogBlock.getNumPins()) + self.assertEqual(self.block.p.nPins, homogBlock.p.nPins) pinCoords = self.block.getPinCoordinates() homogPinCoords = homogBlock.getPinCoordinates() for refXYZ, homogXYZ in zip(list(pinCoords), list(homogPinCoords)):