Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

Proyecto2daParte

Project: Procesos
Views: 97
# Proyecto IQ 0335. # Subgrupo 2 (n-butano, n-hexano, tolueno) # # Estudiantes: # Alberto Chaves, B51994 # Maria Fernanda Rivera, B55896 # Luis Diego Rivera, B45781 # Isberto Martinez, B13913 print("Proyecto IQ O335, Parte A)") #Se definen las fracciones de alimentación que le ingresan al sistema. z1 = 0.35 z2 = 0.30 z3 = 0.35 #Se define la temperatura, la cual es constante. T = 70 #Se crea una función para la presión de saturación la cual depende de 3 parámetros que varian respecto al componente, la misma se guarda como psat. def psat(A, B, C): var1 = C + T var1 = B/var1 var1 = A - var1 res = exp(var1) return res p1sat = psat(13.6608, 2154.70, 238.789) #Evalúa psat con las constantes de Antoine para el n-butano y lo guarda como p1sat. p2sat = psat(13.8193, 2696.04, 224.317) #Evalúa psat con las constantes de Antoine para el n-hexano y lo guarda como p2sat. p3sat = psat(13.9320, 3056.96, 217.625) #Evalúa psat con las constantes de Antoine para el tolueno y lo guarda como p3sat. print ("Presiones de saturación utilizando la ecuación de Antoine:") #Se imprimen los valores de las presiones de saturación. print "P1sat = %.2f kPa" %(p1sat) print "P2sat = %.2f kPa" %(p2sat) print "P3sat = %.2f kPa" %(p3sat) print ("Presiones de burbuja y rocío") #Punto de Rocio #Para simplificar el calculo se definen 3 fracciones para el calculo de la presión de rocio frac1 = z1 / p1sat frac2 = z2 / p2sat frac3 = z3 / p3sat #Las fracciones anteriores se incluyen en la ecuación de la presión de rocío y se evalúa simultaneamente. Pdew = (1 / (frac1 + frac2 + frac3)) #Se imprime el valor anterior print "Presión de Rocío = %.2f kPa" %(Pdew) #Punto de Burbuja #De igual manera, se establecen tres productos para simplificar el cálculo de la presión de burbuja. prod1 = z1 * p1sat prod2 = z2 * p2sat prod3 = z3 * p3sat #Se establece la ecuación y se evalúa simultaneamente. Pburb = prod1 + prod2 + prod3 #Se imprime el valor anterior. print "Presión de Burbuja = %.2f kPa" %(Pburb) #Presion de Operación print ("Presion de operación como el promedio aritmético de las presiones anteriores:") #Se encuentra el valor de la presión de operación promediando el valor de las presiones anteriormente calculadas. P = ((Pburb + Pdew) / 2) #Se imprime el valor anterior print "Presión de Operación = %.2f kPa" %(P) # Cálculo de K print ("Valores de k") #Se definen una función K que solo depende de un parámetro (La presion de saturacion) ya que la presión de operación siempre será la misma. def K(D): res = D / P return res K1 = K(p1sat) #Se evalúa K1 utilizando la presión 1 de saturación calculada anteriormente. K2 = K(p2sat) #Se evalúa K2 utilizando la presión 2 de saturación calculada anteriormente. K3 = K(p3sat) #Se evalúa K3 utilizando la presión 3 de saturación calculada anteriormente. #Se imprimen los valores de K para cada uno de los componentes. print "K1 = %.2f " %(K1) print "K2 = %.2f " %(K2) print "K3 = %.2f " %(K3) # Cálculo de fracciones de vaporización y condensación print ("Valores de las fracciones de vaporizacion y condensacion ") #Se define una variable V correspondiente a la fraccion de vapor V = var('V') #Se simplifica el cálculo, estableciendo distintas operaciones, para que sea más sencillo plantear la ecuación zK1 = z1 * K1 zK2 = z2 * K2 zK3 = z3 * K3 den1 = 1 + V*(K1 - 1) den2 = 1 + V*(K2 - 1) den3 = 1 + V*(K3 - 1) #Se encuentra la raíz de la ecuacion para V que se plantea en el find_root, entre los valores de 0 y 1. A la misma solución se le asigna el valor de V. V = find_root((zK1 / den1) + (zK2 / den2) + (zK3 / den3) == 1, 0, 1) #Se imprime el valor de V print "V = %.2f" %(V) #De seguido se plantea el valor de L y se imprime de igual manera. L = 1 - V print "L = %.2f" %(L) #Para el calculo de las fracciones "y" se simplifica el cálculo nuevamente den1 = 1 + V*(K1 - 1) den2 = 1 + V*(K2 - 1) den3 = 1 + V*(K3 - 1) #Se plantean las ecuaciones que devuelven el valor de cada una de las fracciones. y1 = zK1 / den1 y2 = zK2 / den2 y3 = zK3 / den3 #Se imprime lo anterior print ("Composiciones en la zona de vapor") print "y1 = %.2f" %(y1) print "y2 = %.2f" %(y2) print "y3 = %.2f" %(y3) #Se define una funcion X, para calcular el valor de las fracciones x, a partir de la relación con k y y; los cuales serán los 2 parámetros. def X(H, J): res = H / J return res #Se evalúa la función y se le asigna el valor de la fracción para cada una de las fracciones de vapor y k correspondientes. x1 = X(y1, K1) x2 = X(y2, K2) x3 = X(y3, K3) #Se imprime lo anterior. print ("Composiciones en la zona de líquido") print "x1 = %.2f" %(x1) print "x2 = %.2f" %(x2) print "x3 = %.2f" %(x3) print "\n" print("Proyecto IQ O335, Parte B") print("Iteraciones") print "\n" #En este caso la nueva salida del evaporador sera S, y para la primera iteracion se usara el mismo valor de V calculado anteriormente. print ("Valores de las nuevas fracciones") print "S = %.2f" %(V) #Por la relacion dada en el enunciado se puede calcular la fraccion de R, tambien. R = 0.95*V print "R = %.2f" %(R) #Haciendo un balance en punto de mezcla antes de ingresar al evaporador, se pueden calcular las fracciones que ingresan al evaporador #En este caso, se decidio que esta corriente se llamara A, y las fracciones a_i correspondientemente. a1 = (0.35 + y1*R)/(1+R) a2 = (0.30 + y2*R)/(1+R) a3 = (0.35 + y3*R)/(1+R) print ("Composiciones en la entrada") print "a1 = %.4f" %(a1) print "a2 = %.4f" %(a2) print "a3 = %.4f" %(a3) a1 = float('%.3f'%(a1)) a2 = float('%.3f'%(a2)) a3 = float('%.3f'%(a3)) print "\n" #Para comenzar a hacer las iteraciones se sustituira los valores de a obtenidos en cada caso por los valores de z. #Para esta parte se utilizara el mismo codigo empleado en la parte a), solo que agregandole el calculo de los valores de a planteados anteriormente. #Estos valores de z planteados, son los mismos valores de a calculados antes. z1 = 0.438 z2 = 0.275 z3 = 0.286 #Se establece un contador y un ciclo while para realizar las iteraciones y no copiar y pegar el codigo hasta obtener el resultado deseado. n = 0 while n < 2: T = 70 def psat(A, B, C): var1 = C + T var1 = B/var1 var1 = A - var1 res = exp(var1) return res p1sat = psat(13.6608, 2154.70, 238.789) p2sat = psat(13.8193, 2696.04, 224.317) p3sat = psat(13.9320, 3056.96, 217.625) frac1 = z1 / p1sat frac2 = z2 / p2sat frac3 = z3 / p3sat Pdew = (1 / (frac1 + frac2 + frac3)) print "Presión de Rocío = %.2f kPa" %(Pdew) prod1 = z1 * p1sat prod2 = z2 * p2sat prod3 = z3 * p3sat Pburb = prod1 + prod2 + prod3 print "Presión de Burbuja = %.2f kPa" %(Pburb) P = ((Pburb + Pdew) / 2) def K(D): res = D / P return res K1 = K(p1sat) K2 = K(p2sat) K3 = K(p3sat) print ("Valores de las nuevas fracciones") V = var('V') zK1 = z1 * K1 zK2 = z2 * K2 zK3 = z3 * K3 den1 = 1 + V*(K1 - 1) den2 = 1 + V*(K2 - 1) den3 = 1 + V*(K3 - 1) V = find_root((zK1 / den1) + (zK2 / den2) + (zK3 / den3) == 1, 0, 1) print "S = %.2f" %(V) R = 0.95*V print "R = %.2f" %(R) den1 = 1 + V*(K1 - 1) den2 = 1 + V*(K2 - 1) den3 = 1 + V*(K3 - 1) y1 = zK1 / den1 y2 = zK2 / den2 y3 = zK3 / den3 print ("Composiciones en la zona de vapor") print "y1 = %.2f" %(y1) print "y2 = %.2f" %(y2) print "y3 = %.2f" %(y3) a1 = (0.35 + y1*R)/(1+R) a2 = (0.30 + y2*R)/(1+R) a3 = (0.35 + y3*R)/(1+R) print ("Composiciones en la entrada") print "a1 = %.3f" %(a1) print "a2 = %.3f" %(a2) print "a3 = %.3f" %(a3) #Dentro del while se establece el if-else siguiente, que detendrá el ciclo cuando el cociente entre los z1 y a1 sea mayor a 0.99 es decir un porcentaje #de error de aproximadamente 0.6% if z1/a1 > 0.99: print 'Ultima Iteracion' print "\n" n = 2 #Si lo anterior no ocurre el ciclo seguira corriendo asignando los z del inicio a los a del final. else: print "\n" z1 = float('%.3f'%(a1)) z2 = float('%.3f'%(a2)) z3 = float('%.3f'%(a3)) #Terminadas las iteraciones los nuevos valores de entrada al sistema seran los siguientes z1 = 0.477 z2 = 0.257 z3 = 0.266 #Y las fracciones de S y R S = 0.40 R = 0.38 print ("Nuevas composiciones a la entrada del sistema") print "a1 = %.3f" %(z1) print "a2 = %.3f" %(z2) print "a3 = %.3f" %(z3) print "\n" print ("Nuevas fracciones de reciclo y de salida del evaporador") print "S = %.3f" %(S) print "R = %.3f" %(R) print "\n" #Por otra parte, las composiciones que antes eran y, ahora seran parte de la corriente S print ("Composiciones a la salida del evaporador") print "s1 = %.3f" %(y1) print "s2 = %.3f" %(y2) print "s3 = %.3f" %(y3) print "\n" #Para encontrar la fraccion V que abandona totalmente el sistema se puede hacer un balance en punto de mezcla, donde las corrientes #S, R y V se separan print "Nuevos valores de V y L" V = S - R print "V = %.3f" %(V) #Como en punto de separacion las composiciones se mantienen no es necesario hacer un calculo. #Para obtener la fraccion L, siendo A la corriente que entra al evaporador: esta es la suma de R y Z, Z es 1 y R es 0.38; es decir que #A sera 1.38, de donde ya se sabe que un 0.40 es de S por lo que el restante le correspondera a L. L = 1.38-0.40 print "L = %.3f" %(L) print "\n" #Por ultimo las fracciones en la zona de liquido se calculan de igual forma que en la parte A. def X(H, J): res = H / J return res x1 = X(y1, K1) x2 = X(y2, K2) x3 = X(y3, K3) print ("Nuevas composiciones en la zona de líquido") print "x1 = %.2f" %(x1) print "x2 = %.2f" %(x2) print "x3 = %.2f" %(x3) print "\n" print("Proyecto IQ O335, Parte C") print("Iteraciones") print "\n" #En este caso la nueva salida del evaporador sera S, y para la primera iteracion se usara el mismo valor de V calculado anteriormente. print ("Valores de las nuevas fracciones") print "S = %.2f" %(V) #Por la relacion dada en el enunciado se puede calcular la fraccion de R, tambien. R = 0.5*V print "R = %.2f" %(R) #Haciendo un balance en punto de mezcla antes de ingresar al evaporador, se pueden calcular las fracciones que ingresan al evaporador #En este caso, se decidio que esta corriente se llamara A, y las fracciones a_i correspondientemente. a1 = (0.35 + y1*R)/(1+R) a2 = (0.30 + y2*R)/(1+R) a3 = (0.35 + y3*R)/(1+R) print ("Composiciones en la entrada") print "a1 = %.4f" %(a1) print "a2 = %.4f" %(a2) print "a3 = %.4f" %(a3) a1 = float('%.3f'%(a1)) a2 = float('%.3f'%(a2)) a3 = float('%.3f'%(a3)) print "\n" #Para comenzar a hacer las iteraciones se sustituira los valores de a obtenidos en cada caso por los valores de z. #Para esta parte se utilizara el mismo codigo empleado en la parte a), solo que agregandole el calculo de los valores de a planteados anteriormente. #Estos valores de z planteados, son los mismos valores de a calculados antes. z1 = 0.438 z2 = 0.275 z3 = 0.286 #Se establece un contador y un ciclo while para realizar las iteraciones y no copiar y pegar el codigo hasta obtener el resultado deseado. n = 0 while n < 2: T = 70 def psat(A, B, C): var1 = C + T var1 = B/var1 var1 = A - var1 res = exp(var1) return res p1sat = psat(13.6608, 2154.70, 238.789) p2sat = psat(13.8193, 2696.04, 224.317) p3sat = psat(13.9320, 3056.96, 217.625) frac1 = z1 / p1sat frac2 = z2 / p2sat frac3 = z3 / p3sat Pdew = (1 / (frac1 + frac2 + frac3)) prod1 = z1 * p1sat prod2 = z2 * p2sat prod3 = z3 * p3sat Pburb = prod1 + prod2 + prod3 P = ((Pburb + Pdew) / 2) def K(D): res = D / P return res K1 = K(p1sat) K2 = K(p2sat) K3 = K(p3sat) print ("Valores de las nuevas fracciones") V = var('V') zK1 = z1 * K1 zK2 = z2 * K2 zK3 = z3 * K3 den1 = 1 + V*(K1 - 1) den2 = 1 + V*(K2 - 1) den3 = 1 + V*(K3 - 1) V = find_root((zK1 / den1) + (zK2 / den2) + (zK3 / den3) == 1, 0, 1) print "S = %.2f" %(V) R = 0.5*V print "R = %.2f" %(R) den1 = 1 + V*(K1 - 1) den2 = 1 + V*(K2 - 1) den3 = 1 + V*(K3 - 1) y1 = zK1 / den1 y2 = zK2 / den2 y3 = zK3 / den3 print ("Composiciones en la zona de vapor") print "y1 = %.2f" %(y1) print "y2 = %.2f" %(y2) print "y3 = %.2f" %(y3) a1 = (0.35 + y1*R)/(1+R) a2 = (0.30 + y2*R)/(1+R) a3 = (0.35 + y3*R)/(1+R) print ("Composiciones en la entrada") print "a1 = %.3f" %(a1) print "a2 = %.3f" %(a2) print "a3 = %.3f" %(a3) #Dentro del while se establece el if-else siguiente, que detendrá el ciclo cuando el cociente entre los z1 y a1 sea mayor a 0.99 es decir un porcentaje #de error de aproximadamente 0.6% if z1/a1 > 0.99: print 'Ultima Iteracion' print "\n" n = 2 #Si lo anterior no ocurre el ciclo seguira corriendo asignando los z del inicio a los a del final. else: print "\n" z1 = float('%.3f'%(a1)) z2 = float('%.3f'%(a2)) z3 = float('%.3f'%(a3)) #Terminadas las iteraciones los nuevos valores de entrada al sistema seran los siguientes z1 = 0.477 z2 = 0.257 z3 = 0.266 #Y las fracciones de S y R S = 0.40 R = 0.38 print ("Nuevas composiciones a la entrada del sistema") print "a1 = %.3f" %(z1) print "a2 = %.3f" %(z2) print "a3 = %.3f" %(z3) print "\n" print ("Nuevas fracciones de reciclo y de salida del evaporador") print "S = %.3f" %(S) print "R = %.3f" %(R) print "\n" #Por otra parte, las composiciones que antes eran y, ahora seran parte de la corriente S print ("Composiciones a la salida del evaporador") print "s1 = %.3f" %(y1) print "s2 = %.3f" %(y2) print "s3 = %.3f" %(y3) print "\n" #Para encontrar la fraccion V que abandona totalmente el sistema se puede hacer un balance en punto de mezcla, donde las corrientes #S, R y V se separan print "Nuevos valores de V y L" V = S - R print "V = %.3f" %(V) #Como en punto de separacion las composiciones se mantienen no es necesario hacer un calculo. #Para obtener la fraccion L, siendo A la corriente que entra al evaporador: esta es la suma de R y Z, Z es 1 y R es 0.38; es decir que #A sera 1.38, de donde ya se sabe que un 0.40 es de S por lo que el restante le correspondera a L. L = 1.38-0.40 print "L = %.3f" %(L) print "\n" #Por ultimo las fracciones en la zona de liquido se calculan de igual forma que en la parte A. def X(H, J): res = H / J return res x1 = X(y1, K1) x2 = X(y2, K2) x3 = X(y3, K3) print ("Nuevas composiciones en la zona de líquido") print "x1 = %.2f" %(x1) print "x2 = %.2f" %(x2) print "x3 = %.2f" %(x3) print "\n"
Proyecto IQ O335, Parte A) Presiones de saturación utilizando la ecuación de Antoine: P1sat = 798.63 kPa P2sat = 105.53 kPa P3sat = 27.21 kPa Presiones de burbuja y rocío Presión de Rocío = 61.95 kPa Presión de Burbuja = 320.70 kPa Presion de operación como el promedio aritmético de las presiones anteriores: Presión de Operación = 191.33 kPa Valores de k K1 = 4.17 K2 = 0.55 K3 = 0.14 Valores de las fracciones de vaporizacion y condensacion V = 0.31 L = 0.69 Composiciones en la zona de vapor y1 = 0.74 y2 = 0.19 y3 = 0.07 Composiciones en la zona de líquido x1 = 0.18 x2 = 0.35 x3 = 0.47 Proyecto IQ O335, Parte B Iteraciones Valores de las nuevas fracciones S = 0.31 R = 0.29 Composiciones en la entrada a1 = 0.4381 a2 = 0.2756 a3 = 0.2863 Presión de Rocío = 73.19 kPa Presión de Burbuja = 386.60 kPa Valores de las nuevas fracciones S = 0.37 R = 0.35 Composiciones en la zona de vapor y1 = 0.79 y2 = 0.16 y3 = 0.05 Composiciones en la entrada a1 = 0.465 a2 = 0.263 a3 = 0.272 Presión de Rocío = 76.51 kPa Presión de Burbuja = 406.52 kPa Valores de las nuevas fracciones S = 0.39 R = 0.37 Composiciones en la zona de vapor y1 = 0.81 y2 = 0.15 y3 = 0.05 Composiciones en la entrada a1 = 0.474 a2 = 0.258 a3 = 0.267 Presión de Rocío = 77.82 kPa Presión de Burbuja = 413.04 kPa Valores de las nuevas fracciones S = 0.40 R = 0.38 Composiciones en la zona de vapor y1 = 0.81 y2 = 0.14 y3 = 0.05 Composiciones en la entrada a1 = 0.477 a2 = 0.257 a3 = 0.266 Ultima Iteracion Nuevas composiciones a la entrada del sistema a1 = 0.477 a2 = 0.257 a3 = 0.266 Nuevas fracciones de reciclo y de salida del evaporador S = 0.400 R = 0.380 Composiciones a la salida del evaporador s1 = 0.810 s2 = 0.144 s3 = 0.046 Nuevos valores de V y L V = 0.020 L = 0.980 Nuevas composiciones en la zona de líquido x1 = 0.25 x2 = 0.33 x3 = 0.41 Proyecto IQ O335, Parte C Iteraciones Valores de las nuevas fracciones S = 0.02 R = 0.01 Composiciones en la entrada a1 = 0.3546 a2 = 0.2985 a3 = 0.3470 Valores de las nuevas fracciones S = 0.37 R = 0.19 Composiciones en la zona de vapor y1 = 0.79 y2 = 0.16 y3 = 0.05 Composiciones en la entrada a1 = 0.419 a2 = 0.278 a3 = 0.303 Ultima Iteracion Nuevas composiciones a la entrada del sistema a1 = 0.477 a2 = 0.257 a3 = 0.266 Nuevas fracciones de reciclo y de salida del evaporador S = 0.400 R = 0.380 Composiciones a la salida del evaporador s1 = 0.791 s2 = 0.158 s3 = 0.050 Nuevos valores de V y L V = 0.020 L = 0.980 Nuevas composiciones en la zona de líquido x1 = 0.23 x2 = 0.34 x3 = 0.43