Commit 23af013f authored by Wysocki, Aaron's avatar Wysocki, Aaron
Browse files

Applying new radpw scheme to pow3d

parent 6bf9a6ed
Loading
Loading
Loading
Loading
+20 −6
Original line number Diff line number Diff line
@@ -1265,15 +1265,29 @@ class SquareLatticeLWR_Nodal(CoreBuilder.Core):
            raise RuntimeError(
                "Invalid power distribution shape: %s" % str(powerDist.shape))

        # Renormalize the radial powers
        # 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 = []
        mults = []
        for obj in me.model.solidObjects.values():
        powMults = []
        for i, obj in enumerate(me.model.solidObjects.values()):
            solidID = me.model.solidObjects.keys()[i]
            radP.append(obj.power)
            mults.append(obj.mult)
        radP = np.array(radP) / np.average(np.array(radP), weights=mults)
            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 _setCorePowerShapeAsm3D(me, powerDist, wgts=None, coreStart=0.0, interp_type="nearest"):
        """
+2 −2
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ def main(power_3d_flag=1):
    inletMassFlux = 0.3483429E+04  # kg/m**2/s
    inletTemp = 291.85  # C
    outletPressure = 155.132039  # bar
    linearHeatRate = 16.71977  # kW/m
    corePow = 3.411e6 # kW
    directHeat = 0.026
    gridLocations = list(
        np.array([13.884, 75.2, 127.4, 179.6, 231.8, 284.0, 336.2]) * units.t_cm_m)
@@ -169,7 +169,7 @@ def main(power_3d_flag=1):
    builder.setCoreOutletBC(outletPressure, inletTemp)

    # Set the nominal power and direct heating to coolant
    builder.setAveragePower(qprime=linearHeatRate, dhfrac=directHeat)
    builder.setTotalCorePower(power=corePow, dhfrac=directHeat)

    # Turn on rod VTK and DNB edits.  They are both off by default.
    builder.setEditOptions(dnbEdits=True, veracsHDF5=True)
+195 −195

File changed.

Preview size limit exceeded, changes collapsed.