Loading SubKit/build/SquareLatticeLWR_Nodal.py +28 −47 Original line number Diff line number Diff line Loading @@ -1140,6 +1140,31 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): me.model.setInitialConditions( me.mdotTotal, me.tempInitial, me.outletPressure) def normalizeRadialPowers(me): # Renormalize the radial powers over all fuel rods. Set the # radial power factor for unheated pins to 1.0 (these pins # will be assigned a zero axial power shape, so their power # will still come out zero). radP = [] powMults = [] for i, obj in enumerate(me.model.solidObjects.values()): solidID = me.model.solidObjects.keys()[i] radP.append(obj.power) objType = me.model.solidTypeIDs[solidID] # powMults contains the number of fuel rod pins in each # solid (does not include unheated pins like obj.mult # does) if isinstance(me.model.solidTypes[objType], Solid.FuelRod): powMults.append(obj.mult) else: powMults.append(0.) radP = np.array(radP) / np.average(np.array(radP), weights=powMults) for i, obj in enumerate(me.model.solidObjects.values()): if powMults[i] > 0: obj.power = radP[i] else: obj.power = 1.0 def setCorePowerShape(me, radialPower=None, axialPower=None, coreStart=0.0): """ Use to set a power shape in the core region. Loading Loading @@ -1198,29 +1223,7 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): radPowers.append(radialPower( utils.radialLocation(obj.x, obj.y))) # Renormalize the radial powers over all fuel rods. Set the # radial power factor for unheated pins to 1.0 (these pins # will be assigned a zero axial power shape, so their power # will still come out zero). radP = [] powMults = [] for i, obj in enumerate(me.model.solidObjects.values()): solidID = me.model.solidObjects.keys()[i] radP.append(obj.power) objType = me.model.solidTypeIDs[solidID] # powMults contains the number of fuel rod pins in each # solid (does not include unheated pins like obj.mult # does) if isinstance(me.model.solidTypes[objType], Solid.FuelRod): powMults.append(obj.mult) else: powMults.append(0.) radP = np.array(radP) / np.average(np.array(radP), weights=powMults) for i, obj in enumerate(me.model.solidObjects.values()): if powMults[i] > 0: obj.power = radP[i] else: obj.power = 1.0 me.normalizeRadialPowers() def setCorePowerShape3D(me, powerDist, wgts=None, coreStart=0.0, interp_type="nearest"): """ Loading Loading @@ -1268,29 +1271,7 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): raise RuntimeError( "Invalid power distribution shape: %s" % str(powerDist.shape)) # Renormalize the radial powers over all fuel rods. Set the # radial power factor for unheated pins to 1.0 (these pins # will be assigned a zero axial power shape, so their power # will still come out zero). radP = [] powMults = [] for i, obj in enumerate(me.model.solidObjects.values()): solidID = me.model.solidObjects.keys()[i] radP.append(obj.power) objType = me.model.solidTypeIDs[solidID] # powMults contains the number of fuel rod pins in each # solid (does not include unheated pins like obj.mult # does) if isinstance(me.model.solidTypes[objType], Solid.FuelRod): powMults.append(obj.mult) else: powMults.append(0.) radP = np.array(radP) / np.average(np.array(radP), weights=powMults) for i, obj in enumerate(me.model.solidObjects.values()): if powMults[i] > 0: obj.power = radP[i] else: obj.power = 1.0 me.normalizeRadialPowers() def _setCorePowerShapeAsm3D(me, powerDist, wgts=None, coreStart=0.0, interp_type="nearest"): """ Loading Loading
SubKit/build/SquareLatticeLWR_Nodal.py +28 −47 Original line number Diff line number Diff line Loading @@ -1140,6 +1140,31 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): me.model.setInitialConditions( me.mdotTotal, me.tempInitial, me.outletPressure) def normalizeRadialPowers(me): # Renormalize the radial powers over all fuel rods. Set the # radial power factor for unheated pins to 1.0 (these pins # will be assigned a zero axial power shape, so their power # will still come out zero). radP = [] powMults = [] for i, obj in enumerate(me.model.solidObjects.values()): solidID = me.model.solidObjects.keys()[i] radP.append(obj.power) objType = me.model.solidTypeIDs[solidID] # powMults contains the number of fuel rod pins in each # solid (does not include unheated pins like obj.mult # does) if isinstance(me.model.solidTypes[objType], Solid.FuelRod): powMults.append(obj.mult) else: powMults.append(0.) radP = np.array(radP) / np.average(np.array(radP), weights=powMults) for i, obj in enumerate(me.model.solidObjects.values()): if powMults[i] > 0: obj.power = radP[i] else: obj.power = 1.0 def setCorePowerShape(me, radialPower=None, axialPower=None, coreStart=0.0): """ Use to set a power shape in the core region. Loading Loading @@ -1198,29 +1223,7 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): radPowers.append(radialPower( utils.radialLocation(obj.x, obj.y))) # Renormalize the radial powers over all fuel rods. Set the # radial power factor for unheated pins to 1.0 (these pins # will be assigned a zero axial power shape, so their power # will still come out zero). radP = [] powMults = [] for i, obj in enumerate(me.model.solidObjects.values()): solidID = me.model.solidObjects.keys()[i] radP.append(obj.power) objType = me.model.solidTypeIDs[solidID] # powMults contains the number of fuel rod pins in each # solid (does not include unheated pins like obj.mult # does) if isinstance(me.model.solidTypes[objType], Solid.FuelRod): powMults.append(obj.mult) else: powMults.append(0.) radP = np.array(radP) / np.average(np.array(radP), weights=powMults) for i, obj in enumerate(me.model.solidObjects.values()): if powMults[i] > 0: obj.power = radP[i] else: obj.power = 1.0 me.normalizeRadialPowers() def setCorePowerShape3D(me, powerDist, wgts=None, coreStart=0.0, interp_type="nearest"): """ Loading Loading @@ -1268,29 +1271,7 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): raise RuntimeError( "Invalid power distribution shape: %s" % str(powerDist.shape)) # Renormalize the radial powers over all fuel rods. Set the # radial power factor for unheated pins to 1.0 (these pins # will be assigned a zero axial power shape, so their power # will still come out zero). radP = [] powMults = [] for i, obj in enumerate(me.model.solidObjects.values()): solidID = me.model.solidObjects.keys()[i] radP.append(obj.power) objType = me.model.solidTypeIDs[solidID] # powMults contains the number of fuel rod pins in each # solid (does not include unheated pins like obj.mult # does) if isinstance(me.model.solidTypes[objType], Solid.FuelRod): powMults.append(obj.mult) else: powMults.append(0.) radP = np.array(radP) / np.average(np.array(radP), weights=powMults) for i, obj in enumerate(me.model.solidObjects.values()): if powMults[i] > 0: obj.power = radP[i] else: obj.power = 1.0 me.normalizeRadialPowers() def _setCorePowerShapeAsm3D(me, powerDist, wgts=None, coreStart=0.0, interp_type="nearest"): """ Loading