Open in CoCalc

Problema N° 1

Valor: 10 puntos

Referencia: Adaptado de Problema 10.D11 Wankat (2008)

Deseamos destilar una mezcla de etanol y agua para producir 1000 kg/d de destilado. El producto destilado contiene 80 % de etanol y 20 % de agua (fracciones molares). Se debe usar una relación de reflujo externa R = L/D = 2.0. La columna trabaja a 1 atm y usará anillos Pall de plástico de 16 mm.
Metanol = 46 u; Magua = 18 u; suponga gas ideal; μL = 0,52 cP a 80 °C; ρL = 0,82 g/mL.
Calcule el diámetro en la parte superior de la columna para los siguientes casos:
  1. La operación es a 75 % de la inundación.
  2. La operación es a una caída de presión de 200 Pa/m (0,25 pulgadas de agua por pie de relleno).
  3. Se requiere trabajar a no más de 75 % de inundación ni a más de 200 Pa/m.
  4. Repita la parte a, pero con una alimentación para producir 10 000 kg/d.

Datos EVL para el sistema etanol-agua a 1 atm, fracciones molares. (Fuente: Tabla 2-1 Wankat 2a ed.)

# ================= Datos del enunciado ================= W_D = 1000/24/3600 # [kg/d] --> [kg/s] x_D = 0.80 # [mol/mol] (fracción) R_D = 2.0 P_t = 101.325 # [kPa] R = 8.3145 # [kJ/(kmol K)] M_EtOH = 46 # [u] M_H2O = 18 # [u] mu_L = 0.52*10^-3 # [cP] --> [Pa s] a 80 °C rho_L = 820 # [kg/m³] D_p = 16/1000 # [mm] # ====================== Solución ======================= html('<h2>Solución</h2>') # Solo es útil para el índice C_f = 97 # [ft²/ft³] Tabla 10-3 Wankat print "C_f =", C_f, "ft²/ft³" # ******* Datos de la gráfica de Eckert para una caída de presión de 200 Pa/m ******* # Leídos de la Figura 6.34 de Treybal (1980) 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_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) # Forma pares de datos (x,y) datos_Inun = zip(Eckert_Flv, Eckert_In) Fc_200 = spline(datos_200) # Spline para interpolar Fc_Inun = spline(datos_Inun) # ******* Interpolación de temperatura de equilibrio vs composición del vapor ******* datos_yT = zip(y_eq_EtOH, T_eq) T_eq_y = spline(datos_yT) # ***** Balance de masa ***** M_D = M_EtOH * x_D + M_H2O * (1-x_D) # [kg/kmol] y_V = x_L = x_D # Condensador total ==> x0 = y1 M_L = M_V = M_D # [kg/kmol] F_D = W_D/M_D # [kmol/s], flujo molar destilado F_L = R_D * F_D # [kmol/s], flujo molar reflujo F_V = F_L + F_D # [kmol/s], flujo molar vapor W_L = F_L * M_L # [kg/s], flujo másico líquido tope W_V = F_V * M_V # [kg/s], flujo másico vapor tope print "M_L = M_V =", M_V.n(digits=3), "kg/kmol" # ***** Propiedades del vapor ***** T_V = T_eq_y(y_V) # [°C] rho_V = P_t*M_V/(R*(T_V+273.15)) # [kg/m³] print "T_V = %.3g °C" %T_V print "rho_V = %.3g kg/m³" %rho_V # ***** Parámetro de flujo ***** 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) # [m²] A_C = numerical_approx(A_C_inun/f_inun, digits = 3) # [m²] D_C = numerical_approx(sqrt(4*A_C/pi), digits = 3) # [m] 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) # [m²] D_C = numerical_approx(sqrt(4*A_C/pi), digits = 3) # [m] 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 # [kg/d] --> [kg/s] F_D = W_D/M_D # [kmol/s] F_L = R_D * F_D # [kmol/s] F_V = F_L + F_D # [kmol/s] W_L = F_L * M_L # [kg/s] W_V = F_V * M_V # [kg/s] # F_lv y F_c son igual a la parte a porque se mantiene la misma relación de flujos 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) # [m²] A_C = numerical_approx(A_C_inun/f_inun, digits = 3) # [m²] D_C = numerical_approx(sqrt(4*A_C/pi), digits = 3) # [m] 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" # ******************** Final del código ***********************n

Solución

C_f = 97 ft²/ft³ M_L = M_V = 40.4 kg/kmol T_V = 78.3 °C rho_V = 1.4 kg/m³ F_lv = 0.0276 ============================== Parte a) 75 % de la inundación ============================== F_c = 0.300 A_C_in = 0.0126 m² A_C = 0.0168 m² D_C = 0.146 m <----- Respuesta Dc/Dp = 9.15 Relación OK ===================================== Parte b) Caída de presión de 200 Pa/m ===================================== F_c = 0.0497 A_C = 0.0310 m² D_C = 0.199 m <----- Respuesta Dc/Dp = 12.4 Relación OK ======================================= Parte c) Inundación y caída de presión ======================================= Los cálculos son los mismos de las partes a y b. Se toma el caso que de el diámetro mayor para cumplir ambas condiciones. Define la caída de presión A_C = 0.0310 m² D_C = 0.199 m <----- Respuesta ======================================== Parte d) f_inun= 75 %, F_D = 10 000 kg/d ======================================== F_c = 0.300 A_C_in = 0.126 m² A_C = 0.168 m² D_C = 0.463 m <----- Respuesta Dc/Dp = 28.9 Relación OK

Problema N° 2

Valor: 5 puntos

Referencia: Problema 10.D5 Wankat (2008)

Se está probando un nuevo tipo de relleno. Se destila una mezcla de metanol-agua a reflujo total a 101,3 kPa, la columna empleada utiliza un rehervidor parcial. La sección rellena tiene 1 m de longitud. Medimos una concentración molar de metanol de 96 % en el líquido que sale del condensador y de 4 % molar de metanol en el líquido del vaporizador. ¿Cuál es la HETP de este relleno, con este flujo de gas?

# Datos de EVL para el sistema metanol-agua a 1 atm, fracciones molares (Fuente: Tabla 2-7 Wankat 2a ed.) xe_metanol = [0.000, 0.020, 0.040, 0.060, 0.080, 0.100, 0.150, 0.200, 0.300, 0.400, 0.500, 0.600, 0.700, 0.800, 0.900, 0.950, 1.000] ye_metanol = [0.000, 0.134, 0.230, 0.304, 0.365, 0.418, 0.517, 0.579, 0.665, 0.729, 0.779, 0.825, 0.870, 0.915, 0.958, 0.979, 1.000] T_e = [100.0, 96.4, 93.5, 91.2, 89.3, 87.7, 84.4, 81.7, 78.0, 75.3, 73.1, 71.2, 69.3, 67.6, 66.0, 65.0, 64.5] # Datos del enunciado p_t = 101.3 # [kPa] H_C = 1 # [m] x_D = 0.96 # [mol/mol] (fracción) x_B = 0.04 # [mol/mol] (fracción) # ***************** Solución ******************* html('<h2>Solución</h2>') # Ajuste de datos de equilibrio datos_eq = zip(xe_metanol, ye_metanol) # Crea lista con cada par de valores (x*, y*) y_eq = spline(datos_eq) # Composiciones de entrada y salida y_fondo = y_eq(x_B) x_fondo = y_fondo y_tope = x_D # Etapas # Cálculo de composiciones (escalera) xy_etapas = [(x_B, x_B), (x_B, y_fondo), (y_fondo,y_fondo)] N_i = 0 x_n = y_fondo while x_n < x_D: y_n = y_eq(x_n) xy_etapas.append((x_n,y_n)) x_1 = x_n x_n = y_n xy_etapas.append((x_n,y_n)) N_i += 1 # Cálculo del número de etapas (incluyendo la fracción) N_etapas = N_i + (x_D-x_1)/(x_n-x_1) N_p = N_etapas - 1 # Cálculo del HETP HETP = numerical_approx(H_C / N_p, digits = 3) # *************** Mostrar resultados ****************** # Gráficas # Gráfica de McCabe-Thiele graf_eq = scatter_plot(datos_eq, facecolor = "none", axes_labels = ["$x_{\\mathrm{metOH}}$","$y_{\mathrm{metOH}}$"]) \ + line([(0,0),(1,1)], color = "black") \ + plot(y_eq, xmin = 0, xmax = 1, color = "red") # Líneas de composición de destilado y fondos graf_comp = line([(x_B,0),(x_B,x_B)]) + line([(x_D,0),(x_D,y_tope)]) + text("$x_B$", (x_B,-0.05)) + text("$x_D$", (x_D,-0.05)) # Escalera graf_escal = line(xy_etapas, color = "purple") + text("R", ((x_fondo+x_B)/3, (x_B+y_fondo)/1.8)) graf_eq + graf_comp + graf_escal print "Número de etapas =", numerical_approx(N_etapas, digits = 3) print "Número de platos =", numerical_approx(N_p , digits = 3) show("$HETP = H_C/N_p =$", HETP, "m") # ************* Final del código ***************

Solución

Número de etapas = 4.77 Número de platos = 3.77
HETP=HC/Np=HETP = H_C/N_p = 0.265\displaystyle 0.265 m