Loading SubKit/build/SquareLatticeLWR_Nodal.py +14 −6 Original line number Diff line number Diff line Loading @@ -1069,17 +1069,25 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): asm_axial_power_profile = powerDist[i, j, :] # the asm_axial_power_profile is specified at z_centers assert me.z_centers.size == asm_axial_power_profile.size if interp_type == "linear": # lin interpolate to the z_bounds asm_axial_power_interpolant = \ interp1d(me.z_centers, asm_axial_power_profile, kind='linear', fill_value='extrapolate') # interpolate to the z_bounds asm_axial_power_ctf = asm_axial_power_interpolant(me.z_power_grid) else: asm_axial_power_ctf = np.zeros(me.z_power_grid.size) for z_lvl in range(me.z_centers.size): asm_axial_power_ctf[[2*z_lvl, 2*z_lvl+1]] = \ asm_axial_power_profile[z_lvl] # Normalize such that axially integrated asm nodal power is 1 avg_axpwr = np.max((np.trapz(asm_axial_power_ctf, x=me.z_power_grid) / \ (np.max(me.z_power_grid) - np.min(me.z_power_grid)), 1e-12)) # set axial power profile in the ctf model me.model.addAxialPowerShape(powID, me.z_power_grid, asm_axial_power_ctf / avg_axpwr) rods = me.rodsInAssem[assemID] for rodID in rods: Loading Loading
SubKit/build/SquareLatticeLWR_Nodal.py +14 −6 Original line number Diff line number Diff line Loading @@ -1069,17 +1069,25 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core): asm_axial_power_profile = powerDist[i, j, :] # the asm_axial_power_profile is specified at z_centers assert me.z_centers.size == asm_axial_power_profile.size if interp_type == "linear": # lin interpolate to the z_bounds asm_axial_power_interpolant = \ interp1d(me.z_centers, asm_axial_power_profile, kind='linear', fill_value='extrapolate') # interpolate to the z_bounds asm_axial_power_ctf = asm_axial_power_interpolant(me.z_power_grid) else: asm_axial_power_ctf = np.zeros(me.z_power_grid.size) for z_lvl in range(me.z_centers.size): asm_axial_power_ctf[[2*z_lvl, 2*z_lvl+1]] = \ asm_axial_power_profile[z_lvl] # Normalize such that axially integrated asm nodal power is 1 avg_axpwr = np.max((np.trapz(asm_axial_power_ctf, x=me.z_power_grid) / \ (np.max(me.z_power_grid) - np.min(me.z_power_grid)), 1e-12)) # set axial power profile in the ctf model me.model.addAxialPowerShape(powID, me.z_power_grid, asm_axial_power_ctf / avg_axpwr) rods = me.rodsInAssem[assemID] for rodID in rods: Loading