Esempio n. 1
0
MDOT = 0.3
MU = 8.7E-5
DBUBBLES = 0.0025
NBUBBLES = 4
VBUBBLES = NBUBBLES * pi / 6 * DBUBBLES**3
AFLOW = pi / 4 * D**2
G = MDOT / AFLOW
RE = G * D / MU
# Steam properties
water = Steam(P=P, x=0)
vapor = Steam(P=P, x=1)

# Part 1
print("Flow area: {:.2e} m^2 \t Mass flux: {:.0f} kg/s/m^2".format(AFLOW, G))
print("Reynolds number:   {:.2e}".format(RE))
print("Bubble volume:     {:.2e} m^3".format(VBUBBLES))
vflow = 0.01 * AFLOW
beta = VBUBBLES / vflow
alpha1 = beta
x = two_phase.quality(alpha1, water.rho, vapor.rho)
# Part 3
rho = two_phase.mixture_density(water.rho, vapor.rho, alpha1)
print("rho (mixture):     {:.1f} kg/m^3".format(rho))
fff = models.mcadams(RE)
print("friction factor:   {:.3f}".format(fff))
delta_p = rho * 9.81 * L + fff * L / D * G**2 / (2 * rho)

print()
print("1) Void fraction:  {:.3f}".format(alpha1))
print("   Quality:        {:.5f}".format(x))
print("3) Pressure drop:  {:.1f} kPa".format(delta_p * 1E-3))
Esempio n. 2
0
KC = 0.5  # loss coeficient of contraction
KE = 1.0  # loss coeficient of expansion
MDOT = 17.5E6 / 3600  # kg/s; total mass flow rate of coolant

# Conservation of energy w/ conservation of mass:
m2ass = MDOT / (2 * N2)  # kg/s; mass flow rate per assembly, zone 2
m1ass = N2 / N1 * m2ass  # kg/s; mass flow rate per assembly, zone 1
print("mass per ass., zone 1: {:.2f} kg/s".format(m1ass))
print("mass per ass., zone 2: {:.2f} kg/s".format(m2ass))

# mass flux, zone 2
g2 = lambda dh: m2ass / (pi / 4 * dh**2)
# Reynolds number, zone 2
re2 = lambda dh: 4 * m2ass / (pi * dh * MU)
# friction factor correlation, zone 2
f2 = lambda dh: models.mcadams(re2(dh))
# Conservation of Momentum, zone 2
com2 = lambda dh: RHO * 9.81 * Z2 + f2(dh) * Z2 / dh * g2(dh)**2 / (2 * RHO
                                                                    ) - DP
# Solve the CoM equation for hydraulic diameter of assemblies in zone 2
dh2 = fsolve(com2, 0.01)[0]
#print("Reynolds Number 2:    {:.3e}".format(re2(dh2)))
print("Hydraulic Diameter 2: {:.2f} cm".format(dh2 * 100))
mf2 = g2(dh2)
mf1 = N2 / N1 * mf2
print("G1: {:.2f}\tG2: {:.2f} kg/s/m^2".format(mf1, mf2))

# Zone 1
re1 = 4 * m1ass / (pi * dh2 * MU)
f1 = models.mcadams(re1)
dp1 = RHO * 9.81 * Z1 + f1 * Z1 / dh2 * mf1**2 / (2 * RHO)
Esempio n. 3
0
aflow = pi / 4 * (DO**2 - DC**2)
print("\tFlow area:           {:.2f} cm^2".format(aflow * 1E4))
com = lambda g: (K1 + K2 + 1.25 * F * L / dh) * g**2 / (2 * RHOW) + (
    RHOW - RHOC) * 9.81 * L
gmin = fsolve(com, 1000)[0]
print("\tMass flux:           {:.1f} kg/s/m^2".format(gmin))
mdotmin = gmin * aflow
print("\tMass flow rate:      {:.2f} kg/s".format(mdotmin))

print("\nPart 2: Temperature in the control rod under reduced flow conditions")
print("\tPrandtl number:      {:.2f}".format(PRW))
g = MDOTPRIME / aflow
print("\tReduced mass flux:   {:.1f} kg/s/m^2".format(g))
re = g * dh / MU
print("\tReynolds number:     {:.0f}".format(re))
fff = models.mcadams(re)
print("\tFriction factor f:   {:.3f}".format(fff))
nu = models.dittus_boelter(re, PRW)
print("\tNusselt number:      {:.2f}".format(nu))
h = KW / dh * nu
print("\tHeat transfer coeff: {:.1f} kW/m^2-K".format(h / 1000))
# Referring back to PSet05, Eq. 14.22b
zcrit = L / pi * atan(DC * h / (MDOTPRIME * CW) * L)
print("\tHeight at max. T:    {:.1f} cm".format(zcrit * 100))
# And again from the previous PSet, Eq. 14.19
q2peak = pi / 2 * Q2AVG
q1peak = q2peak * pi * DC
tco = lambda z: TIN + q1peak * (cos(pi / L * z) / (pi * DC * h) +
                                (sin(pi / L * z) + 1) * L /
                                (pi * MDOTPRIME * CW))
tmax = tco(zcrit)
Esempio n. 4
0
mdot = mst / XOUT
# water mixture in the downcomer
hdown = hin * XOUT + hf * (1 - XOUT)
water_down = Steam(P=P, h=hdown)
rho_down = water_down.rho
print("hdown:  {:.0f} kJ/kg".format(hdown))
print("rho:    {:.1f} kg/m^3".format(rho_down))
dp_down = rho_down * H * 9.81
print("DPdown: {:.1f} kPa".format(dp_down / 1000))
# water+steam mixture in the riser
rhog = vapor.rho
rhof = water.rho
alpha = two_phase.alpha(XOUT, rhof, rhog)
print("alpha:  {:.4f}".format(alpha))
rhom = two_phase.mixture_density(rhof, rhog, alpha)
print("rhom:   {:.1f} kg/m^3".format(rhom))
dp_up = rhom * 9.81 * H
print("DPup:   {:.1f} kPa".format(dp_up / 1000))
# friction loss in the riser
mu = water.mu
g = lambda d: 4 * mdot / (pi * d**2)
re = lambda d: g(d) * d / mu
fff = lambda d: models.mcadams(re(d))
# Conservation of momentum
com = lambda d: dp_down - dp_up - fff(d) * H / d * g(d)**2 / (2 * rhom)
diameter = fsolve(com, 0.1)[0]

print("\n" + "-" * 12)
print("mst:    {:.2f} kg/s".format(mst))
print("d:      {:.3f} m".format(diameter))