Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

Soluciones a Tareas Masa 2

Views: 20869

Problema N° 1

Valor: 10 puntos
Fuente: Problema 16.D1 Wankat (2008)

Un sistema de permeación de gases con membrana de acetato de celulosa, se usará para purificar una corriente de dióxido de carbono y metano. Las permeabilidades son 15,0 barrer para el CO2 y 0,48 barrer para el CH4. El espesor efectivo de la membrana es tms = 1.0 µm. La operación es a 35 °C, la presión del retenido pR = 12 atm y del permeado pP = 0.2 atm (es un vacío). La alimentación contiene 15 % mol de dióxido de carbono. Suponga que los gases son ideales.

  1. Se usará un separador con membrana, bien mezclado y con una etapa. Trabaje con un corte θ = 0.32. Calcule yP, yR y el flujo de dióxido de carbono. Si se alimenta 1 kmol/h de la mezcla, calcule el área necesaria de la membrana, FP y FR.
  2. Diseñe un sistema de permeación de gases con dos etapas y flujo cruzado. Cada etapa está bien mezclada. Use la misma alimentación de la parte (a). Las presiones y la fracciones molares en la alimentación son iguales son iguales que en la parte (a). Haga que FP1 = FP2 = 0.5 FP,parte a (por lo que FR2 = FR,parte a). Calcule yP1, yP2, yR1 = yF2, yR2 y FR1. Calcule los flujos por las membranas de ambas etapas, y las áreas de membrana que se requieren.
html("<h2>Solución") V0 = 8.314*273.15/100 *100^3 # cm³/kmol <-- m^3/kmol #1 barrer = 10^-10 cm^3 (STP) * cm/(cm^2 * s * cmHg) barrer = 10^-10 / V0 * 100^2 * 3600 * 76 # kmol cm / (m^2 h atm) Q = [15 * barrer, 0.48 * barrer] t_m = 1.0*10^-6 * 100 # cm T = 35 # °C P_R = 12 # atm P_P = 0.2 # atm y_F = [0.15, 0.85] # CO2, CH4 q = [Qi/t_m for Qi in Q] # kmol/(m^2 h atm) N_comp = len(y_F) # ========== Parte a ========== html("<h3>Parte a) Una etapa mezcla perfecta") F_F = 1 # kmol/h theta = 0.32 F_P = F_F*theta # kmol/h F_R = F_F - F_P # kmol/h # ===== Cálculo de las fracciones de permeado por iteración del área ===== %var Am M = [Am*P_R*qi/(F_F*theta+Am*P_P*qi) for qi in q] yP = [M[i]*y_F[i]/(1+(M[i]-1)*theta) for i in range(N_comp)] A_m = find_root(sum(yP) == 1, 0, 10^20) print "A_m = %.3g m²" %A_m y_P = [numerical_approx(yP[i](Am=A_m), digits =4) for i in range(N_comp)] print "y_P =", y_P #sum(y_P) y_R = [numerical_approx((y_F[i]-theta*y_P[i])/(1-theta), digits=4) for i in range(N_comp)] print "y_R =", y_R #sum(y_R) print "F_P = %.4g kmol/h" %F_P print "F_R = %.4g kmol/h" %F_R # ========== Parte b ========== html("<h3>Parte b) Dos etapas flujo cruzado") print "Primera etapa" F_P1 = F_P2 = F_P/2 # kmol/h F_R1 = F_F - F_P1 F_R2 = F_R # kmol/h theta1 = F_P1/F_F M1 = [Am*P_R*qi/(F_F*theta1+Am*P_P*qi) for qi in q] yP1 = [M1[i]*y_F[i]/(1+(M1[i]-1)*theta1) for i in range(N_comp)] A_m1 = find_root(sum(yP1) == 1, 0, 10^20) print "A_m1 = %.3g m²" %A_m1 y_P1 = [numerical_approx(yP1[i](Am=A_m1), digits =4) for i in range(N_comp)] print "y_P1 =", y_P1 #sum(y_P1) y_R1 = [numerical_approx((y_F[i]-theta1*y_P1[i])/(1-theta1), digits=4) for i in range(N_comp)] print "y_R1 =", y_R1 #sum(y_R1) print "F_P1 = %.4g kmol/h" %F_P1 print "F_R1 = %.4g kmol/h" %F_R1 print "\nSegunda etapa" theta2 = F_P2/F_R1 M2 = [Am*P_R*qi/(F_R1*theta2+Am*P_P*qi) for qi in q] yP2 = [M2[i]*y_R1[i]/(1+(M2[i]-1)*theta2) for i in range(N_comp)] A_m2 = find_root(sum(yP2) == 1, 0, 10^20) print "A_m2 = %.3g m²" %A_m2 y_P2 = [numerical_approx(yP2[i](Am=A_m2), digits =4) for i in range(N_comp)] print "y_P2 =", y_P2 #sum(y_P2) y_R2 = [numerical_approx((y_R1[i]-theta2*y_P2[i])/(1-theta2), digits=4) for i in range(N_comp)] print "y_R2 =", y_R2 #sum(y_R2) print "F_P2 = %.4g kmol/h" %F_P2 print "F_R2 = %.4g kmol/h" %F_R2 print "\nPermeado combinado" y_Pb = [(y_P1[i]*F_P1+y_P2[i]*F_P2)/(F_P1+F_P2) for i in range(N_comp)] print "y_Pb =",y_Pb #sum(y_Pb)

Solución

Parte a) Una etapa mezcla perfecta

A_m = 283 m² y_P = [0.4090, 0.5910] y_R = [0.02812, 0.9719] F_P = 0.32 kmol/h F_R = 0.68 kmol/h

Parte b) Dos etapas flujo cruzado

Primera etapa A_m1 = 93 m² y_P1 = [0.6233, 0.3767] y_R1 = [0.05984, 0.9402] F_P1 = 0.16 kmol/h F_R1 = 0.84 kmol/h Segunda etapa A_m2 = 177 m² y_P2 = [0.2518, 0.7482] y_R2 = [0.01467, 0.9853] F_P2 = 0.16 kmol/h F_R2 = 0.68 kmol/h Permeado combinado y_Pb = [0.4376, 0.5624]
%html <h1>Problema N° 2</h1> <p> <strong>Valor: 10 puntos</strong><br> <strong>Fuente: Problema 16.D2 Wankat (2008)</strong> </p> <p>Estamos separando una corriente gaseosa por permeación de gases en un sistema perfectamente mezclado. La alimentación contiene 20 % mol de dióxido de carbono y 80 % mol de metano. Las permeabilidades de la membrana son <em>P</em><sub>CO2</sub> = 15.0 barrer y <em>P</em><sub>CH4</sub> = 0.48 barrer. La selectividad es 31.25. El espesor efectivo de la piel de membrana es <em>t<sub>ms</sub></em> = 1.0 μm. Se trabaja con <em>p<sub>P</sub></em> = 3.3 atm, <em>p<sub>R</sub></em> = 60 atm, <em>F</em><sub>ent</sub> = 2 mol/s y <em>F<sub>P</sub></em>/<em>F<sub>F</sub></em> = 0.3. Calcule:</p> <ol type="a"> <li><em>y<sub>P</sub></em> , <em>y<sub>R</sub></em>.</li> <li>El área necesaria de la membrana, en m<sup>2</sup>.</li> </ol>

Problema N° 2

Valor: 10 puntos
Fuente: Problema 16.D2 Wankat (2008)

Estamos separando una corriente gaseosa por permeación de gases en un sistema perfectamente mezclado. La alimentación contiene 20 % mol de dióxido de carbono y 80 % mol de metano. Las permeabilidades de la membrana son PCO2 = 15.0 barrer y PCH4 = 0.48 barrer. La selectividad es 31.25. El espesor efectivo de la piel de membrana es tms = 1.0 μm. Se trabaja con pP = 3.3 atm, pR = 60 atm, Fent = 2 mol/s y FP/FF = 0.3. Calcule:

  1. yP , yR.
  2. El área necesaria de la membrana, en m2.
html("<h2>Solución") V0 = 22710 # cm³/mol barrer = 10^-10 / V0 * 100^2 * 76 # mol cm / (m^2 s atm) y_F = [0.20, 0.80] Q = [15 * barrer, 0.48 * barrer] t_m = 1.0*10^-6 * 100 # cm P_P = 3.3 # atm P_R = 60 # atm F_F = 2 # mol/s theta = 0.3 q = [Qi/t_m for Qi in Q] # mol/(m^2 s atm) N_comp = len(y_F) %var Am M = [Am*P_R*qi/(F_F*theta+Am*P_P*qi) for qi in q] yP = [M[i]*y_F[i]/(1+(M[i]-1)*theta) for i in range(N_comp)] A_m = find_root(sum(yP) == 1, 0, 10^20) print "A_m = %.3g m²" %A_m y_P = [numerical_approx(yP[i](Am=A_m), digits =4) for i in range(N_comp)] print "y_P =", y_P #sum(y_P) y_R = [numerical_approx((y_F[i]-theta*y_P[i])/(1-theta), digits=4) for i in range(N_comp)] print "y_R =", y_R #sum(y_R)

Solución

A_m = 324 m² y_P = [0.5243, 0.4757] y_R = [0.06103, 0.9390]

Problema N° 3

Valor: 10 puntos
Fuente: Problema 14.10 Seader, Henley, & Roper (2011)

Una mezcla de 60 % propileno y 40 % propano (fracciones molares) a un flujo de 45 kmol/h a 25 °C y 2.07 MPa se va a separar con una membrana de poliviniltrimetilsilano. La piel de la membrana es de 0.1 µm de espesor, y se usarán módulos en espiral con una presión de 103 kPa del lado del permeado.
Calcule el balance de materia y el área de la membrana en m² como función de la tasa de corte para (a) modelo de mezcla perfecta y (b) flujo cruzado.

Las permeabilidades son:
Propano = 2.8 barrer
Propileno = 9 barrer

Observaciones

  • 1 barrer = 10-10 cm³ (STP)/(cm² s cmHg) = 3.348*10-16 kmol m/(s m² kPa)
  • Recuerde hacer uso correcto del SI, esto implica corregir el texto original si es el caso.
  • Puede subir su tarea en formato digital (hoja de cálculo, documento de texto, PDF, imagen escaneada, etc.) o solamente presentarla en papel.
html("<h2>Solución") barrer = 3.348*10^-16 *3600 # kmol m/(h m² kPa) y_F = [0.60, 0.40] # mol/mol F_F = 45 # kmol/h T = 25 # °C P_R = 2.07*10^3 # kPa t_m = 0.1*10^-6 # m P_P = 103 # kPa Q = [9 * barrer, 2.8 * barrer] q = [Qi/t_m for Qi in Q] # kmol/(h m² kPa) N_comp = len(y_F) %var Am html("<h3>Parte a) Mezcla perfecta") datos_theta_yP0 = [] tabla = [["theta", "F_P/(kmol/h)", "F_R/(kmol/h)", "Am/(m^2)", "y_P", "y_R"]] thetas = [0.05*i for i in range(1,20)] for theta in thetas: F_P = F_F * theta F_R = F_F - F_P M = [Am*P_R*qi/(F_F*theta+Am*P_P*qi) for qi in q] yP = [M[i]*y_F[i]/(1+(M[i]-1)*theta) for i in range(N_comp)] A_m = find_root(sum(yP) == 1, 0, 10^20) y_P = [numerical_approx(yP[i](Am=A_m), digits =4) for i in range(N_comp)] y_R = [numerical_approx((y_F[i]-theta*y_P[i])/(1-theta), digits=4) for i in range(N_comp)] fila = [n(theta, digits=3), n(F_P, digits=4), n(F_R, digits=4), n(A_m, digits=4), y_P, y_R] tabla.append(fila) datos_theta_yP0.append((theta, y_P[0])) table(tabla, header_row=True) graf_a = line(datos_theta_yP0, color="blue", legend_label="Mezcla perfecta", axes_labels=["$\\theta$","$y_{P1}$"]) html("<h3>Parte b) Flujo cruzado") ## Se fija un (Delta) área de membrana de cada etapa y se calcula como una etapa de mezcla perfecta. ## Para cada etapa se realiza el balance de masa en función de la (Delta) tasa de corte y se resuelve iterando. ## Para ello se definen los M_i para la etapa como funciones del Delta_theta, con estos se definen los yP locales ## que por ende son también funciones de Delta_theta, por iteración se encuentra el valor de Delta_theta que hace ## que la sumatoria de los yP locales sea 1. ## Se calcula el flujo de permeado acumulado y la tasa de corte acumulada al final de cada etapa, cuando la ## tasa de corte es igual o ligeramente superior a uno de los valores predefinidos se guardan esos datos en la ## tabla de resultados. Delta_A = 0.5 # m² %var Delta_theta j = 0 y_R = [y_F] y_P = [[0 for i in range(N_comp)]] y_Pt = [[0 for i in range(N_comp)]] Delta_fP = [0] f_R = [F_F] tabla2 = [["theta", "F_P/(kmol/h)", "F_R/(kmol/h)", "Am/(m^2)", "y_P acum", "y_R", "N_etapas"]] datos_theta_yP0t = [] theta_t = 0 for theta in thetas: while theta_t < theta: j += 1 Delta_fPj= f_R[j-1] * Delta_theta f_Rj = f_R[j-1] - Delta_fPj M = [Delta_A*P_R*qi/(f_R[j-1]*Delta_theta + Delta_A*P_P*qi) for qi in q] yPj = [M[i]*y_R[j-1][i]/(1+(M[i]-1)*Delta_theta) for i in range(N_comp)] Delta_theta_j = find_root(sum(yPj) == 1, 0, 0.9999) Delta_fP.append(Delta_fPj(Delta_theta=Delta_theta_j)) f_R.append(f_Rj(Delta_theta=Delta_theta_j)) F_Pt = sum(Delta_fP) y_P.append([yPj[i](Delta_theta=Delta_theta_j) for i in range(N_comp)]) y_R.append([numerical_approx((y_R[j-1][i]-Delta_theta_j*y_P[j][i])/(1-Delta_theta_j), digits=4) for i in range(N_comp)]) y_Pt.append([numerical_approx((F_F*y_F[i]-f_R[j]*y_R[j][i])/F_Pt, digits=4) for i in range(N_comp)]) theta_t = F_Pt/F_F fila = [n(theta_t, digits=3), n(F_Pt, digits=4), n(f_R[j], digits=4), n(j*Delta_A, digits=4), y_Pt[j], y_R[j], j] tabla2.append(fila) datos_theta_yP0t.append((theta_t, y_Pt[j][0])) table(tabla2, header_row=True) graf_b = line(datos_theta_yP0t, color="red", legend_label="Flujo cruzado", axes_labels=["$\\theta$","$y_{P1}$"]) graf_a + graf_b

Solución

Parte a) Mezcla perfecta

theta F_P/(kmol/h) F_R/(kmol/h) Am/(m^2) y_P y_R +--------+--------------+--------------+----------+------------------+------------------+ 0.0500 2.250 42.75 14.88 [0.8142, 0.1858] [0.5887, 0.4113] 0.100 4.500 40.50 30.11 [0.8068, 0.1932] [0.5770, 0.4230] 0.150 6.750 38.25 45.73 [0.7988, 0.2012] [0.5649, 0.4351] 0.200 9.000 36.00 61.75 [0.7905, 0.2096] [0.5524, 0.4476] 0.250 11.25 33.75 78.23 [0.7816, 0.2184] [0.5395, 0.4605] 0.300 13.50 31.50 95.18 [0.7722, 0.2278] [0.5262, 0.4738] 0.350 15.75 29.25 112.7 [0.7624, 0.2376] [0.5126, 0.4874] 0.400 18.00 27.00 130.7 [0.7520, 0.2480] [0.4987, 0.5013] 0.450 20.25 24.75 149.3 [0.7411, 0.2589] [0.4845, 0.5155] 0.500 22.50 22.50 168.5 [0.7298, 0.2702] [0.4702, 0.5298] 0.550 24.75 20.25 188.4 [0.7180, 0.2820] [0.4557, 0.5442] 0.600 27.00 18.00 209.0 [0.7058, 0.2942] [0.4413, 0.5587] 0.650 29.25 15.75 230.2 [0.6933, 0.3067] [0.4268, 0.5732] 0.700 31.50 13.50 252.1 [0.6804, 0.3196] [0.4124, 0.5876] 0.750 33.75 11.25 274.7 [0.6672, 0.3328] [0.3983, 0.6017] 0.800 36.00 9.000 298.0 [0.6539, 0.3461] [0.3843, 0.6157] 0.850 38.25 6.750 322.0 [0.6405, 0.3595] [0.3707, 0.6293] 0.900 40.50 4.500 346.6 [0.6270, 0.3731] [0.3574, 0.6425] 0.950 42.75 2.250 371.9 [0.6134, 0.3866] [0.3445, 0.6554]

Parte b) Flujo cruzado

theta F_P/(kmol/h) F_R/(kmol/h) Am/(m^2) y_P acum y_R N_etapas +--------+--------------+--------------+----------+------------------+-------------------+----------+ 0.0507 2.280 42.72 15.00 [0.8171, 0.1823] [0.5884, 0.4116] 30 0.101 4.533 40.47 30.00 [0.8135, 0.1860] [0.5761, 0.4240] 60 0.150 6.757 38.24 45.00 [0.8097, 0.1901] [0.5630, 0.4371] 90 0.201 9.023 35.98 60.50 [0.8054, 0.1945] [0.5485, 0.4516] 121 0.250 11.26 33.74 76.00 [0.8008, 0.1991] [0.5330, 0.4670] 152 0.300 13.52 31.48 92.00 [0.7958, 0.2041] [0.5159, 0.4841] 184 0.351 15.81 29.19 108.5 [0.7903, 0.2096] [0.4969, 0.5031] 217 0.401 18.05 26.95 125.0 [0.7844, 0.2156] [0.4765, 0.5236] 250 0.451 20.31 24.69 142.0 [0.7778, 0.2221] [0.4537, 0.5463] 284 0.500 22.51 22.49 159.0 [0.7708, 0.2291] [0.4291, 0.5710] 318 0.550 24.76 20.24 177.0 [0.7627, 0.2372] [0.4009, 0.5992] 354 0.601 27.06 17.94 196.0 [0.7535, 0.2464] [0.3685, 0.6316] 392 0.650 29.26 15.74 215.0 [0.7435, 0.2565] [0.3333, 0.6668] 430 0.700 31.52 13.48 235.5 [0.7316, 0.2683] [0.2923, 0.7078] 471 0.750 33.76 11.24 257.0 [0.7179, 0.2821] [0.2462, 0.7541] 514 0.801 36.03 8.970 280.5 [0.7013, 0.2986] [0.1930, 0.8073] 561 0.850 38.25 6.748 305.5 [0.6819, 0.3180] [0.1356, 0.8646] 611 0.900 40.51 4.492 333.5 [0.6582, 0.3418] [0.07539, 0.9249] 667 0.950 42.76 2.237 364.5 [0.6301, 0.3698] [0.02366, 0.9769] 729
# Problema 2 - nuevo html("<h2>Solución") barrer = 3.348*10^-16 *3600 # kmol m/(h m² kPa) y_F = [0.25, 0.55, 0.20] # mol/mol F_F = 30/22.71 # kmol/h T = 25 # °C P_R = 4*101.325 # kPa t_m = 20*10^-6 # m P_P = 0.4*101.325 # kPa Q = [200*barrer, 50*barrer, 25*barrer] q = [Qi/t_m for Qi in Q] # kmol/(h m² kPa) N_comp = len(y_F) %var Am html("<h3>Parte a) Mezcla perfecta") theta = 0.25 F_P = F_F * theta F_R = F_F - F_P M = [Am*P_R*qi/(F_F*theta+Am*P_P*qi) for qi in q] yP = [M[i]*y_F[i]/(1+(M[i]-1)*theta) for i in range(N_comp)] A_m = find_root(sum(yP) == 1, 0, 10^20) y_P = [numerical_approx(yP[i](Am=A_m), digits =4) for i in range(N_comp)] y_R = [numerical_approx((y_F[i]-theta*y_P[i])/(1-theta), digits=4) for i in range(N_comp)] print("yP = ", y_P) print("yR = ", y_R) print("Am = %.4g m²" %A_m) html("<h3>Parte b) Flujo cruzado") ## Se fija un (Delta) área de membrana de cada etapa y se calcula como una etapa de mezcla perfecta. ## Para cada etapa se realiza el balance de masa en función de la (Delta) tasa de corte y se resuelve iterando. ## Para ello se definen los M_i para la etapa como funciones del Delta_theta, con estos se definen los yP locales ## que por ende son también funciones de Delta_theta, por iteración se encuentra el valor de Delta_theta que hace ## que la sumatoria de los yP locales sea 1. ## Se calcula el flujo de permeado acumulado y la tasa de corte acumulada al final de cada etapa, cuando la ## tasa de corte es igual o ligeramente superior a uno de los valores predefinidos se guardan esos datos en la ## tabla de resultados. Delta_A = A_m/10 # m² %var Delta_theta j = 0 y_R = [y_F] y_P = [[0 for i in range(N_comp)]] y_Pt = [[0 for i in range(N_comp)]] Delta_fP = [0] f_R = [F_F] tabla2 = [["theta", "F_P/(kmol/h)", "F_R/(kmol/h)", "Am/(m^2)", "y_P acum", "y_R", "N_etapas"]] datos_theta_yP0t = [] while j < 10: j += 1 Delta_fPj= f_R[j-1] * Delta_theta f_Rj = f_R[j-1] - Delta_fPj M = [Delta_A*P_R*qi/(f_R[j-1]*Delta_theta + Delta_A*P_P*qi) for qi in q] yPj = [M[i]*y_R[j-1][i]/(1+(M[i]-1)*Delta_theta) for i in range(N_comp)] Delta_theta_j = find_root(sum(yPj) == 1, 0, 0.9999) Delta_fP.append(Delta_fPj(Delta_theta=Delta_theta_j)) f_R.append(f_Rj(Delta_theta=Delta_theta_j)) F_Pt = sum(Delta_fP) y_P.append([yPj[i](Delta_theta=Delta_theta_j) for i in range(N_comp)]) y_R.append([numerical_approx((y_R[j-1][i]-Delta_theta_j*y_P[j][i])/(1-Delta_theta_j), digits=4) for i in range(N_comp)]) y_Pt.append([numerical_approx((F_F*y_F[i]-f_R[j]*y_R[j][i])/F_Pt, digits=4) for i in range(N_comp)]) theta_t = F_Pt/F_F fila = [n(theta_t, digits=3), n(F_Pt, digits=4), n(f_R[j], digits=4), n(j*Delta_A, digits=4), y_Pt[j], y_R[j], j] tabla2.append(fila) datos_theta_yP0t.append((theta_t, y_Pt[j][0])) table(tabla2, header_row=True) graf_b = line(datos_theta_yP0t, color="red", legend_label="Flujo cruzado", axes_labels=["$\\theta$","$y_{P1}$"]) graf_b

Solución

Parte a) Mezcla perfecta

('yP = ', [0.4553, 0.4503, 0.09443]) ('yR = ', [0.1816, 0.5832, 0.2352]) Am = 226.2 m²

Parte b) Flujo cruzado

theta F_P/(kmol/h) F_R/(kmol/h) Am/(m^2) y_P acum y_R N_etapas +--------+--------------+--------------+----------+---------------------------+--------------------------+----------+ 0.0285 0.03761 1.283 22.62 [0.5479, 0.3800, 0.07222] [0.2413, 0.5550, 0.2037] 1 0.0564 0.07455 1.246 45.25 [0.5418, 0.3848, 0.07353] [0.2325, 0.5599, 0.2076] 2 0.0839 0.1108 1.210 67.87 [0.5356, 0.3897, 0.07487] [0.2238, 0.5647, 0.2115] 3 0.111 0.1464 1.175 90.50 [0.5293, 0.3947, 0.07622] [0.2152, 0.5694, 0.2154] 4 0.137 0.1814 1.140 113.1 [0.5229, 0.3996, 0.07762] [0.2066, 0.5739, 0.2195] 5 0.163 0.2157 1.105 135.7 [0.5165, 0.4046, 0.07904] [0.1980, 0.5784, 0.2236] 6 0.189 0.2494 1.072 158.4 [0.5100, 0.4097, 0.08050] [0.1895, 0.5827, 0.2278] 7 0.214 0.2824 1.039 181.0 [0.5034, 0.4147, 0.08198] [0.1811, 0.5868, 0.2321] 8 0.238 0.3148 1.006 203.6 [0.4968, 0.4198, 0.08349] [0.1728, 0.5907, 0.2365] 9 0.262 0.3466 0.9744 226.2 [0.4902, 0.4249, 0.08503] [0.1646, 0.5945, 0.2409] 10