Loading SubKit/build/SquareLatticeLWR_Nodal.py +15 −14 Original line number Diff line number Diff line Loading @@ -1002,6 +1002,16 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): else: raise RuntimeError("Invalid power distribution shape: %s" % str(powerDist.shape)) # Renormalize the radial powers radP = [] mults = [] for obj in me.model.solidObjects.values(): radP.append(obj.power) mults.append(obj.mult) radP = np.array(radP)/np.average(np.array(radP), weights=mults) for i, obj in enumerate(me.model.solidObjects.values()): obj.power = radP[i] def _setCorePowerShapeAsm3D(me, powerDist, wgts=None, coreStart=0.0): """ Set a 3D power distribution for the core. Each assembly can have it's own Loading Loading @@ -1037,7 +1047,10 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): assemID = me.chMapObj.getAssemIndexFromLoc(i, j) if assemID: powID = "pwr_" + str(assemID) me.model.addAxialPowerShape(powID, me.z_power_grid, powerDist[i, j, :]) asm_axial_power_profile_avg = \ np.max((1e-12, np.average(powerDist[i, j, :]))) me.model.addAxialPowerShape(powID, me.z_power_grid, powerDist[i, j, :] / \ asm_axial_power_profile_avg) rods = me.rodsInAssem[assemID] for rodID in rods: Loading @@ -1048,7 +1061,7 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): # obj_rod_type_id == 2 is guide tube (only present if me.modelGuideTubes=True) # obj_rod is type SubKit.build.Solid.HeatedSolid # radial power factors are implicit in the 3d power distribution obj_rod.power = 1.0 obj_rod.power = asm_axial_power_profile_avg def _setCorePowerShapeNodal3D(me, powerDist, wgts=None, coreStart=0.0): """ Loading Loading @@ -1129,8 +1142,6 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): avg_node_axial_power_profile = \ np.max((1e-12, np.average(node_axial_power_profile))) # scale axial power # import pdb; pdb.set_trace() # node_axial_power_profile *= 1.165803 me.model.addAxialPowerShape(powID, me.z_power_grid, node_axial_power_profile / avg_node_axial_power_profile) obj_rod.powID = powID Loading @@ -1140,13 +1151,3 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): # obj_rod is type SubKit.build.Solid.HeatedSolid # radial power factors are implicit in the 3d power distribution obj_rod.power = avg_node_axial_power_profile # Renormalize the radial powers radP = [] mults = [] for obj in me.model.solidObjects.values(): radP.append(obj.power) mults.append(obj.mult) radP = np.array(radP)/np.average(np.array(radP), weights=mults) for i, obj in enumerate(me.model.solidObjects.values()): obj.power = radP[i] Loading
SubKit/build/SquareLatticeLWR_Nodal.py +15 −14 Original line number Diff line number Diff line Loading @@ -1002,6 +1002,16 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): else: raise RuntimeError("Invalid power distribution shape: %s" % str(powerDist.shape)) # Renormalize the radial powers radP = [] mults = [] for obj in me.model.solidObjects.values(): radP.append(obj.power) mults.append(obj.mult) radP = np.array(radP)/np.average(np.array(radP), weights=mults) for i, obj in enumerate(me.model.solidObjects.values()): obj.power = radP[i] def _setCorePowerShapeAsm3D(me, powerDist, wgts=None, coreStart=0.0): """ Set a 3D power distribution for the core. Each assembly can have it's own Loading Loading @@ -1037,7 +1047,10 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): assemID = me.chMapObj.getAssemIndexFromLoc(i, j) if assemID: powID = "pwr_" + str(assemID) me.model.addAxialPowerShape(powID, me.z_power_grid, powerDist[i, j, :]) asm_axial_power_profile_avg = \ np.max((1e-12, np.average(powerDist[i, j, :]))) me.model.addAxialPowerShape(powID, me.z_power_grid, powerDist[i, j, :] / \ asm_axial_power_profile_avg) rods = me.rodsInAssem[assemID] for rodID in rods: Loading @@ -1048,7 +1061,7 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): # obj_rod_type_id == 2 is guide tube (only present if me.modelGuideTubes=True) # obj_rod is type SubKit.build.Solid.HeatedSolid # radial power factors are implicit in the 3d power distribution obj_rod.power = 1.0 obj_rod.power = asm_axial_power_profile_avg def _setCorePowerShapeNodal3D(me, powerDist, wgts=None, coreStart=0.0): """ Loading Loading @@ -1129,8 +1142,6 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): avg_node_axial_power_profile = \ np.max((1e-12, np.average(node_axial_power_profile))) # scale axial power # import pdb; pdb.set_trace() # node_axial_power_profile *= 1.165803 me.model.addAxialPowerShape(powID, me.z_power_grid, node_axial_power_profile / avg_node_axial_power_profile) obj_rod.powID = powID Loading @@ -1140,13 +1151,3 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): # obj_rod is type SubKit.build.Solid.HeatedSolid # radial power factors are implicit in the 3d power distribution obj_rod.power = avg_node_axial_power_profile # Renormalize the radial powers radP = [] mults = [] for obj in me.model.solidObjects.values(): radP.append(obj.power) mults.append(obj.mult) radP = np.array(radP)/np.average(np.array(radP), weights=mults) for i, obj in enumerate(me.model.solidObjects.values()): obj.power = radP[i]