Resolución de un Flash Isotérmico

Anuncio
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
Descargar