W_D = 1000/24/3600
x_D = 0.80
R_D = 2.0
P_t = 101.325
R = 8.3145
M_EtOH = 46
M_H2O = 18
mu_L = 0.52*10^-3
rho_L = 820
D_p = 16/1000
html('<h2>Solución</h2>')
C_f = 97
print "C_f =", C_f, "ft²/ft³"
Eckert_Flv = [0.012, 0.015, 0.020, 0.030, 0.040, 0.060, 0.080, 0.100, 0.150, 0.200, 0.300, 0.400, 0.600, 0.800, 1.000, 1.5000, 2.0000, 3.0000, 4.0000, 5.0000, 6.0000, 8.0000,10.0000]
Eckert_200 = [0.054, 0.053, 0.052, 0.049, 0.047, 0.044, 0.041, 0.039, 0.035, 0.031, 0.026, 0.022, 0.017, 0.014, 0.011, 0.0077, 0.0057, 0.0038, 0.0026, 0.0020, 0.0016, 0.0011, 0.0008]
Eckert_400 = [0.093, 0.090, 0.088, 0.083, 0.080, 0.074, 0.069, 0.065, 0.057, 0.051, 0.041, 0.035, 0.026, 0.021, 0.017, 0.0116, 0.0085, 0.0053, 0.0037, 0.0027, 0.0020, 0.0013, 0.0010]
Eckert_In = [0.321, 0.318, 0.311, 0.296, 0.278, 0.250, 0.226, 0.206, 0.165, 0.133, 0.099, 0.077, 0.053, 0.041, 0.032, 0.0201, 0.0140, 0.0087, 0.0055, 0.0041, 0.0032, 0.0021, 0.0015]
datos_200 = zip(Eckert_Flv, Eckert_200)
datos_Inun = zip(Eckert_Flv, Eckert_In)
Fc_200 = spline(datos_200)
Fc_Inun = spline(datos_Inun)
datos_yT = zip(y_eq_EtOH, T_eq)
T_eq_y = spline(datos_yT)
M_D = M_EtOH * x_D + M_H2O * (1-x_D)
y_V = x_L = x_D
M_L = M_V = M_D
F_D = W_D/M_D
F_L = R_D * F_D
F_V = F_L + F_D
W_L = F_L * M_L
W_V = F_V * M_V
print "M_L = M_V =", M_V.n(digits=3), "kg/kmol"
T_V = T_eq_y(y_V)
rho_V = P_t*M_V/(R*(T_V+273.15))
print "T_V = %.3g °C" %T_V
print "rho_V = %.3g kg/m³" %rho_V
F_lv = W_L/W_V * sqrt(rho_V/(rho_L-rho_V))
print "F_lv =", F_lv.n(digits=3)
print "==============================\nParte a) 75 % de la inundación \n=============================="
f_inun = 0.75
F_c = numerical_approx(Fc_Inun(F_lv), digits = 3)
A_C_inun = numerical_approx(sqrt(W_V^2*C_f*mu_L^0.1/(rho_V*(rho_L-rho_V)*F_c)), digits=3)
A_C = numerical_approx(A_C_inun/f_inun, digits = 3)
D_C = numerical_approx(sqrt(4*A_C/pi), digits = 3)
print "F_c =", F_c
print "A_C_in =", A_C_inun, "m²"
print "A_C =", A_C, "m²"
print "D_C =", D_C, "m <----- Respuesta"
print "Dc/Dp =", D_C/D_p
if D_C/D_p < 8:
print "Posible canalización hacia las paredes"
elif D_C/D_p >= 40:
print "Posible mala distribución de líquido y vapor"
else:
print "Relación OK"
A_C_parte_a = A_C
D_C_parte_a = D_C
print "=====================================\nParte b) Caída de presión de 200 Pa/m\n====================================="
F_c = numerical_approx(Fc_200 (F_lv), digits=3)
A_C = numerical_approx(sqrt(W_V^2*C_f*mu_L^0.1/(rho_V*(rho_L-rho_V)*F_c)), digits=3)
D_C = numerical_approx(sqrt(4*A_C/pi), digits = 3)
print "F_c =", F_c
print "A_C =", A_C, "m²"
print "D_C =", D_C, "m <----- Respuesta"
print "Dc/Dp =", D_C/D_p
if D_C/D_p < 8:
print "Posible canalización hacia las paredes"
elif D_C/D_p >= 40:
print "Posible mala distribución de líquido y vapor"
else:
print "Relación OK"
print "=======================================\nParte c) Inundación y caída de presión\n======================================="
print "Los cálculos son los mismos de las partes a y b."
print "Se toma el caso que de el diámetro mayor para cumplir ambas condiciones."
if A_C_parte_a > A_C:
print "Define la fracción de inundación"
A_C = A_C_parte_a
D_C = D_C_parte_a
else:
print "Define la caída de presión"
print "A_C =", A_C, "m²"
print "D_C =", D_C, "m <----- Respuesta"
print "========================================\nParte d) f_inun= 75 %, F_D = 10 000 kg/d\n========================================"
W_D = 10000/24/3600
F_D = W_D/M_D
F_L = R_D * F_D
F_V = F_L + F_D
W_L = F_L * M_L
W_V = F_V * M_V
F_c = numerical_approx(Fc_Inun(F_lv), digits = 3)
A_C_inun = numerical_approx(sqrt(W_V^2*C_f*mu_L^0.1/(rho_V*(rho_L-rho_V)*F_c)), digits=3)
A_C = numerical_approx(A_C_inun/f_inun, digits = 3)
D_C = numerical_approx(sqrt(4*A_C/pi), digits = 3)
print "F_c =", F_c
print "A_C_in =", A_C_inun, "m²"
print "A_C =", A_C, "m²"
print "D_C =", D_C, "m <----- Respuesta"
print "Dc/Dp =", D_C/D_p
if D_C/D_p < 8:
print "Posible canalización hacia las paredes"
elif D_C/D_p >= 40:
print "Posible mala distribución de líquido y vapor"
else:
print "Relación OK"