UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL ROSARIO Departamento de Ingeniería Química Cátedra: Integración IV Tema: Resolución de un Flash Isotérmico Alumnos: Damián Matich, Marcos Bossi y Juan M. Pignani Profesores: Dr. Nicolás Scenna, Dr. Alejandro Santa Cruz y Dra. Sonia Benz Año de cursado: 1999 Flash Isotérmico: Sea el siguiente un equipo flash con una caudal de alimentación de F = 100 moles/horas: V yi Vapor F zi Líquido L xi donde: - F: alimentación al flash [moles/hora]; - zi : fracción molar de los componentes de la mezcla, i = 1, 2, ..., NC; - L: caudal de salida de líquido [moles/hora]; - xi: fracción molar de los componentes en el líquido, i = 1, 2, ..., NC; - V: caudal de salida de vapor [moles/hora]; - yi: fracción molar de los componentes en el vapor, i = 1, 2, ..., NC. Balance de materia global: F = L +V Balance de materia por componentes: z i F = x i L + y iV Equilibrio líquido/vapor: y i = K i xi Fracción vaporizada: = V F Reemplazando en las ecuaciones anteriores y trabajando algebraicamente se obtienen las siguientes expresiones: NC ∑( y i xi = zi θ ( K i − 1) + 1 e yi = K i zi . θ ( K i − 1) + 1 Además, recordando que: − x i ) = 0 , se llega a la ecuación que se menciona a continuación: i =1 NC z i ( K i − 1) =0 i − 1) + 1 ∑ θ (K i =1 1 (1) Cálculos: Teniendo en cuenta los datos de la siguiente tabla, se calcularon las fracciones molares xi e yi; asi como los caudales L y V. Componente Fracción molar C1 C2 C3 C4 C5 0.05 0.15 0.25 0.20 0.35 Ki (a las condiciones del flash) 16.25 5.25 1.99 0.75 0.29 Para los cálculos se confeccionó un programa en QBASIC, donde se utilizó el método de NewtonRaphson para calcular el valor de θ. Este método en forma general se puede escribir como: y =y n n −1 f ( y n −1 ) − f ′( y n −1 ) Los resultados obtenidos fueron: θ = 0.5161 L = 48.3932 moles/hora V = 51.6067 moles/hora x1 = 0.0056 x2 = 0.0470 x3 = 0.1655 x4 = 0.2296 x5 = 0.5524 y1 = 0.0916 y2 = 0.2466 y3 = 0.3293 y4 = 0.1722 y5 = 0.1602 A continuación se muestra el esquema seguido para realizar el listado del programa. Notar que para resolver el problema se supuso la condición de mezcla ideal y por lo tanto, Ki no es función de xi e yi. En consecuencia la Ec. (1) es solamente una función de la fracción vaporizada θ. Ingresar: zi, Ki, F y θ0 (valor inicial). Calcular la Ec. (1) NO Si (1) ≤ 10 -5 Derivar la Ec. (1) SI Mostrar valor de θ. Calcular y mostrar: xi, yi, L y V. 2 Por N-R calcular un nuevo valor de θ. Listado del programa: 'entrada de datos SCREEN 12 DIM Respuesta AS STRING DO PRINT PRINT PRINT PRINT PRINT "Ingrese el número de componentes de la ecuación"; INPUT N PRINT PRINT PRINT "¿El valor es correcto? (S,N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF LOOP UNTIL Continuar = 1 CLS DIM DIM DIM DIM DIM DIM DIM DIM DIM DIM Z(1 TO N) AS SINGLE K(1 TO N) AS SINGLE Función AS SINGLE Tita AS DOUBLE Liquido AS DOUBLE Vapor AS DOUBLE derivada AS SINGLE X(1 TO N) AS SINGLE y(1 TO N) AS SINGLE RD AS SINGLE Se ingresa el número y se verifica si es correcto. Se dimensionan los vectores. DO DO FOR Count1 = 1 TO N PRINT PRINT "Ingrese la fracción molar del componente"; Count1; INPUT Z(Count1) NEXT Count1 PRINT PRINT PRINT "¿Los valores son correctos? (S,N)"; INPUT Respuesta IF (Respuesta = “N”) OR (Respuesta = “n”) THEN Continuar = 0 ELSE Continuar = 1 END IF LOOP UNTIL Continuar = 1 RD = 0 FOR I = 1 TO N RD = RD + Z(I) NEXT I IF (RD = 1) THEN Continuar = 2 ELSE Continuar = 0 PRINT PRINT PRINT "Datos de la composición incorrectos" SLEEP END IF CLS LOOP UNTIL Continuar = 2 3 Se ingresan los valores de Ki y posteriormente se verifican. Se verifica si ∑zi = 1. DO FOR Count1 = 1 TO N PRINT PRINT "Ingrese la constante de equilibrio del componente"; Count1; INPUT K(Count1) NEXT Count1 PRINT PRINT PRINT "¿Los valores son correctos? (S,N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF CLS LOOP UNTIL Continuar = 1 Se ingresan las fracciones molares de la DO PRINT PRINT "Ingrese la alimentación"; INPUT F PRINT PRINT PRINT "¿El valor es correcto? (S,N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF CLS LOOP UNTIL Continuar = 1 Se ingresan los valores de Ki y posteriormente se verifican si fueron correctamente ingresados. Función = 0 Derivada = 0 DO PRINT PRINT "Ingrese el primer valor de la fracción vaporizada Θ" PRINT "(Θ debe encontrarse entre 0 y 1)"; INPUT Tita PRINT PRINT PRINT "¿El valor es correcto? (S, N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF CLS LOOP UNTIL Continuar = 1 Se ingresa y chequea la alimentación. Iteración = 1 Indicador = 0 DO FOR I = 1 TO N Función = Función + (Z(I)*(K(I) - 1))/(Tita*(K(I) - 1) + 1) NEXT I IF ABS(Función) <= (.00001#) THEN PRINT PRINT PRINT "El valor de la fracción vaporizada Θ es :"; Tita SLEEP Indicador = 1 ELSE FOR I = 1 TO N Derivada = Derivada-(Z(I)*(K(I)-1)^2)/(Tita*(K(I)-1)+1)^2 NEXT I Tita = Tita – Función/Derivada END IF LOCATE 10 PRINT "Iteración"; Iteración PRINT Tita 4 Se calcula la Ec. (1) y si el error es menor a 10-5 se muestra el valor de θ y si por N-R se calcula un nuevo valor de θ y se vuelve a iterar hasta lograr indicador = 1. PRINT Función PRINT Derivada PRINT Función/Derivada Iteración = Iteración + 1 LOOP UNTIL Indicador = 1 FOR I = X(I) NEXT I FOR I = y(I) NEXT I Vapor = Liquido 1 TO N = Z(I)/(Tita* K(I) - 1) + 1) Se calculan el resto de las variables desconocidas. 1 TO N = Z(I)*K(I)/(Tita*(K(I) - 1) + 1) Tita * F = F - Vapor CLS PRINT PRINT "Composición molar del líquido" PRINT FOR Count1 = 1 TO N PRINT "X("; Count1; ") = "; X(Count1) NEXT Count1 SLEEP CLS PRINT PRINT "Composición molar del vapor" PRINT FOR Count1 = 1 TO N PRINT "Y("; Count1; ") = "; y(Count1) NEXT Count1 SLEEP CLS PRINT PRINT "Caudal de salida Líquido = "; Liquido PRINT PRINT "Caudal de salida Vapor = "; Vapor Se muestran en pantalla los resultados obtenidos. INPUT t END Nota: el programa no tiene una condición de detención en caso de divergencia, también puede disminuirse ABS Función a 0.001 para disminuir el número de iteraciones. 5