Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa Destilacion - 5 PDF
Programa Destilacion - 5 PDF
La primera parte del programa pregunta por la mezcla a destilar de las que existen en la
base de datos,
PRINT "Anlisis del proceso de destilacin por el mtodo de Ponchon y Savarit"
LOCATE 5, 1
PRINT "Mezclas en base de datos : (a 1 atmsfera)"
PRINT "
agua-etanol (m1)"
PRINT "
agua-metanol (m2)"
LOCATE 10, 2
INPUT "Ingrese mezcla a destilar ", mez$
WHILE mez$ <> a$
READ a$
WEND
READ N, MB, MA, too
FOR i = 1001 TO N + 1000
READ t(i), x(i), y(i), CL(i), hsol(i), CLA(i), lambdaA(i), CLB(i), lambdaB(i)
Mpr = MA * x(i) + MB * (1 - x(i))
HL(i) = CL(i) * (t(i) - too) * Mpr + hsol(i) * x(i)
HG(i) = y(i) * (CLA(i) * MA * (t(i) - too) + lambdaA(i) * MA) + (1 - y(i)) * (CLB(i) * MB * (t(i) - too) + lambdaB(i) * MB)
NEXT i
Como se puede ver en el listado del programa, al final se encuentra la base de datos, que
consta con los datos de agua-metanol y agua-etanol a 1 atm.(se puede ampliar a
cualquier mezcla binaria). Abajo se detallan los datos para agua-metanol
REM agua-metanol
REM clave de identificacin,N de datos de eq. disponibles, peso m. del menos voltil, peso m. del ms voltil, temp. de ref.
para entalpas
DATA m2,17,18.02,32.04,19.69
REM t,x,y,CL,hsol,CLA,lambdaA,CLB,lambdaB
DATA 100,0,0,3.852,-3000,2.583,1047,2.323,2314
DATA 96.4,0.02,0.134,3.852,-3000,2.583,1047,2.323,2314
DATA 93.5,0.04,0.23,3.852,-3000,2.583,1047,2.323,2314
DATA 91.2,0.06,0.304,3.852,-3000,2.583,1047,2.323,2314
DATA 89.3,0.08,0.365,3.852,-3000,2.583,1047,2.323,2314
DATA 87.7,0.1,0.418,3.852,-3000,2.583,1047,2.323,2314
DATA 84.4,0.15,0.517,3.852,-3000,2.583,1047,2.323,2314
DATA 81.7,0.2,0.579,3.852,-3000,2.583,1047,2.323,2314
DATA 78,0.3,0.665,3.852,-3000,2.583,1047,2.323,2314
DATA 75.3,0.4,0.729,3.852,-3000,2.583,1047,2.323,2314
DATA 73.1,0.5,0.779,3.852,-3000,2.583,1047,2.323,2314
DATA 71.2,0.6,0.825,3.852,-3000,2.583,1047,2.323,2314
DATA 69.3,0.7,0.87,3.852,-3000,2.583,1047,2.323,2314
DATA 67.5,0.8,0.915,3.852,-3000,2.583,1047,2.323,2314
DATA 66,0.9,0.958,3.852,-3000,2.583,1047,2.323,2314
DATA 65,0.95,0.979,3.852,-3000,2.583,1047,2.323,2314
DATA 64.5,1,1,3.852,-3000,2.583,1047,2.323,2314
Al ingresar en este caso m2, el programa calcula con los datos termodinmicos las
masas moleculares promedio y las entalpas del vapor y lquido saturado a diversas
temperaturas de equilibrio.
Con esos datos se construirn los diagramas de entalpa-concentracin para esta mezcla,
adems mediante la subrutina lagrange la cul calcula mediante el mtodo de
interpolacin de lagrange(apndice B) los diversos puntos de las curvas.
lagrange:
REM interpolacin de lagrange
sum = 0
g = 1001
WHILE funx(g) < des * .999
g=g+1
WEND
cont1 = g - 2: cont2 = g + 1
IF cont1 = 1000 OR cont1 = 999 THEN cont1 = 1001: cont2 = 1004
IF cont2 = N + 1001 THEN cont2 = N + 1000
FOR j = cont1 TO cont2
prod = 1
FOR k = cont1 TO cont2
IF k = cont2 AND j = cont2 THEN ban = 1
IF k = j THEN k = k + 1
Alimentacin
Pantalla 1: Clculo grfico de las etapas ideales mnimas para lograr las condiciones requeridas, adems
se entregan los datos de reflujo mnimo y las coordenadas termodinmicas para su clculo.
Como se aprecia en la Pantalla 1, son 6 los platos mnimos de una columna abierta para
lograr la separacin requerida, adems el reflujo mnimo es 0.79.
A continuacin el programa solicita el nmero de veces el mnimo para operar en forma
ms real, ingresando el valor del problema, es decir, 1,7 veces, se tiene,
Pantalla 2: Clculo de las lneas de operacin a reflujo 1.7, como se ve la determinacin es slo de
algunos puntos que luego se almacenan para mediante lagrange interpolar en lneas.
Pantalla 3: Lneas de operacin trazadas, junto con la determinacin de las etapas ideales a 1,7 veces el
reflujo mnimo.
Pantalla 4: Determinacin de los platos reales a partir de una eficiencia de Murphree del 90%.
[1] El compilador usado para este programa es el Qbasic 4.5 de Microsoft, se puede
descargar desde http://www.upseros.com/compiladores.php
[2] Treybal, R., Operaciones de Transferencia de Masa, Segunda Edicin, McGrawHill, 1994, ISBN:968-6046-34-8.
Apndice A
LINE (212 * (i / 1000 + 1) + 215, 463 - 212 * yp / 1000)-(212 * (i / 1000 + 1) + 215, 675 - 212 * (i / 1000 + 1))
platx(cont) = i: platy(cont) = xp
cont = cont + 1
etap = etap + 1
IF 1000 * xw < i THEN xp = i: yp = xp: GOSUB ideales
etap = etap - 1 + (xp - 1000 * xw) / (xp - i)
REM reflujo minimo
GOSUB yHG
des = 1000 * xd
GOSUB lagrange
HGD = res
GOSUB xHL
GOSUB lagrange
HLD = res
des = 1000 * xw
GOSUB lagrange
HLW = res
remin = (HMD - HGD) / (HGD - HLD)
PRINT "Etapas ideales (a reflujo infinito) : "; etap
PRINT "Reflujo mnimo (a etapas infinitas) : "; remin
PRINT "Ordenada HD + QC/D
[kJ/kmol] : "; HMD
PRINT "Ordenada HW - QB/W
[kJ/kmol] : "; HMW
PRINT "QC/D
[kJ/kmol] : "; HMD - HLD
PRINT "QB/W
[kJ/kmol] : "; -HMW + HLW
PRINT
PRINT "Composicin molar del componente "
PRINT "m s vol til, por platos:"
FOR i = 0 TO cont - 1
PRINT "plato "; i + 1; " x= "; platx(i) / 1000; " y= "; platy(i) / 1000
NEXT i
PRINT
PRINT "Desea operar con un reflujo distinto al mnimo (s/n)"
INPUT "", y$
IF y$ = "n" THEN END
REM etapas reales
CLS
colpan = 5
GOSUB diagramas
COLOR 3
PRINT "Ingrese nmero de veces del"
INPUT "reflujo mnimo que utilizar ", fac
WHILE fac <= 1
LOCATE 4, 1
PRINT "debe ser mayor que 1, de lo contrario"
INPUT "se requerir n infinitas etapas
", fac
WEND
Q = fac * remin * (HGD - HLD) + HGD
pendop = (Q - HLF) / (1000 * (xd - xz))
QW = pendop * (1000 * (xw - xd)) + Q
kx = 0
xp = 1: xpp = 0
WHILE xp > xpp
des = kx
GOSUB xHL
GOSUB lagrange
xp = res
xpp = pendop * (kx - 1000 * xd) + Q
kx = kx + 1
WEND
xt = (kx - 2) / 1000
LINE (212 * (xd + 1) + 215, 250 - 200 * Q / HG(1001))-(212 * (xw + 1) + 215, 250 - 200 * QW / HG(1001))
var1 = 1001
inter = 1000 * (xd - xw) / (N - 1)
i = 1000 * xw - inter
WHILE var1 <= 1000 + N
i = i + inter
des = i
GOSUB xHL
GOSUB lagrange
var = res
pen1 = (Q - var) / (xd * 1000 - i)
COLOR 5
LINE (212 * (xd + 1) + 215, 250 - 200 * Q / HG(1001))-(212 * (i / 1000 + 1) + 215, 250 - 200 * var / HG(1001))
kx = i - 1
xp = 1: xpp = 0
WHILE xp > xpp
des = kx
GOSUB yHG
GOSUB lagrange
xp = res
xpp = (kx - 1000 * xd) * pen1 + Q
kx = kx + 1
WEND
COLOR 3: PSET (212 * (i / 1000 + 1) + 215, 675 - 212 * ((kx - 2) / 1000 + 1))
COLOR 5
ope1(var1) = i
ope2(var1) = kx - 2
var1 = var1 + 1
WEND
var1 = 1001
i = 1000 * xw - inter
WHILE var1 <= 1000 + N
i = i + inter
des = i
GOSUB yHG
GOSUB lagrange
var = res
pen1 = (QW - var) / (xw * 1000 - i)
COLOR 5
LINE (212 * (xw + 1) + 215, 250 - 200 * QW / HG(1001))-(212 * (i / 1000 + 1) + 215, 250 - 200 * var / HG(1001))
kx = i + 1
xp = 0: xpp = 1
WHILE xp < xpp
des = kx
GOSUB xHL
GOSUB lagrange
xp = res
xpp = pen1 * (kx - 1000 * xw) + QW
kx = kx - 1
WEND
COLOR 3: PSET (212 * ((kx + 2) / 1000 + 1) + 215, 675 - 212 * (i / 1000 + 1))
COLOR 5
opa1(var1) = kx + 2
opa2(var1) = i
var1 = var1 + 1
WEND
LOCATE 30, 1
COLOR 3: INPUT "presione enter para continuar ", y$
CLS
colpan = 9
GOSUB diagramas
FOR l = 1000 * xw TO ope1(1000 + N)
FOR i = 1001 TO 1000 + N
funx(i) = ope1(i): funy(i) = ope2(i)
NEXT i
des = l
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 463 - 212 * res / 1000)
NEXT l
FOR l = 1000 * xw TO opa1(1000 + N)
FOR i = 1001 TO 1000 + N
funx(i) = opa1(i): funy(i) = opa2(i)
NEXT i
des = l
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 463 - 212 * res / 1000)
NEXT l
COLOR 2
cont = 0: etap = 0
xp = 1000 * xd
yp = xp
reales:
i=0
res = 0
WHILE yp > res
des = i
GOSUB xy
GOSUB lagrange
i=i+1
WEND
i=i-2
LINE (212 * (xp / 1000 + 1) + 215, 463 - 212 * yp / 1000)-(212 * (i / 1000 + 1) + 215, 463 - 212 * yp / 1000)
platx(cont) = i: platy(cont) = yp
cont = cont + 1
etap = etap + 1
IF 1000 * xw < i THEN
xp = i
IF i > xt * 1000 THEN
FOR l = 1001 TO 1000 + N
funx(l) = ope1(l): funy(l) = ope2(l)
NEXT l
des = i
GOSUB lagrange
ELSEIF i <= xt * 1000 THEN
FOR l = 1001 TO 1000 + N
funx(l) = opa1(l): funy(l) = opa2(l)
NEXT l
des = i
ban2 = ban2 + 1
GOSUB lagrange
END IF
LINE (212 * (i / 1000 + 1) + 215, 463 - 212 * yp / 1000)-(212 * (i / 1000 + 1) + 215, 675 - 212 * (res / 1000 + 1))
yp = res
IF ban2 = 1 THEN etapop = etap
GOSUB reales
END IF
etap = etap - 1 + (xp - 1000 * xw) / (xp - i)
COLOR 3
PRINT "Etapas ideales
: "; etap
PRINT "Etapa de alimentacin ptima : "; etapop
PRINT "Ordenada HD + QC/D
[kJ/kmol] : "; Q
PRINT "Ordenada HW - QB/W
[kJ/kmol] : "; QW
PRINT "QC/D
[kJ/kmol] : "; Q - HLD
PRINT "QB/W
[kJ/kmol] : "; -QW + HLW
PRINT
INPUT "presione enter, para ver composicin por platos ", y$
PRINT
PRINT "Composicin molar del componente "
PRINT "m s vol til, por platos:"
FOR i = 0 TO cont - 1
PRINT "plato "; i + 1; " x= "; platx(i) / 1000; " y= "; USING ".###"; platy(i) / 1000
NEXT i
PRINT
PRINT
PRINT "desea operar con una eficiencia de Murphree"
INPUT "distinta de 100% (s/n) ", y$
IF y$ = "n" THEN END
REM eficiencias de etapa
colpan = 2
GOSUB diagramas
FOR l = 1000 * xw TO ope1(1000 + N)
FOR i = 1001 TO 1000 + N
funx(i) = ope1(i): funy(i) = ope2(i)
NEXT i
des = l
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 463 - 212 * res / 1000)
NEXT l
FOR l = 1000 * xw TO opa1(1000 + N)
FOR i = 1001 TO 1000 + N
funx(i) = opa1(i): funy(i) = opa2(i)
NEXT i
des = l
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 463 - 212 * res / 1000)
NEXT l
COLOR 3
INPUT "Ingrese eficiencia de los platos (sin %) ", efi
COLOR 7
REM curva eq.
LINE (427, 251)-(639, 463), , B
LINE (427, 463)-(639, 251)
GOSUB xy
FOR i = funx(1001) TO funx(1000 + N)
des = i
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 463 - 212 * res / 1000)
NEXT i
10
cont = 0: etap = 0
ban2 = 0
xp = 1000 * xd
yp = xp
reales2:
i=0
res = 0
WHILE yp > res
des = i
GOSUB xy
GOSUB lagrange
i=i+1
WEND
i=i-2
LINE (212 * (xp / 1000 + 1) + 215, 463 - 212 * yp / 1000)-(212 * (i / 1000 + 1) + 215, 463 - 212 * yp / 1000)
platx(cont) = i: platy(cont) = yp
cont = cont + 1
etap = etap + 1
IF 1000 * xw < i THEN
xp = i
IF i > xt * 1000 THEN
FOR l = 1001 TO 1000 + N
funx(l) = ope1(l): funy(l) = ope2(l)
NEXT l
des = i
GOSUB lagrange
ELSEIF i <= xt * 1000 THEN
FOR l = 1001 TO 1000 + N
funx(l) = opa1(l): funy(l) = opa2(l)
NEXT l
des = i
ban2 = ban2 + 1
GOSUB lagrange
END IF
LINE (212 * (i / 1000 + 1) + 215, 463 - 212 * yp / 1000)-(212 * (i / 1000 + 1) + 215, 675 - 212 * (res / 1000 + 1))
yp = res
IF ban2 = 1 THEN etapop = etap
GOSUB reales2
END IF
etap = etap - 1 + (xp - 1000 * xw) / (xp - i)
COLOR 3
PRINT "Etapas reales
: "; etap
PRINT "Etapa de alimentacin ptima : "; etapop
PRINT
INPUT "presione enter, para ver composicin por platos ", y$
PRINT
PRINT "Composicin molar del componente "
PRINT "m s vol til, por platos:"
FOR i = 0 TO cont - 1
PRINT "plato "; i + 1; " x= "; platx(i) / 1000; " y= "; USING ".###"; platy(i) / 1000
NEXT i
END
REM subrutinas
diagramas:
CLS
SCREEN 12
COLOR colpan
REM curva eq.
LINE (427, 251)-(639, 463), , B
LINE (427, 463)-(639, 251)
GOSUB xy
FOR i = funx(1001) TO funx(1000 + N)
des = i
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 463 - 212 * res / 1000)
NEXT i
REM entalpia composicion
LINE (427, 0)-(427, 250)
LINE (639, 0)-(639, 250)
GOSUB xHL
FOR i = funx(1001) TO funx(1000 + N)
des = i
11
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 250 - 200 * res / HG(1001))
NEXT i
GOSUB yHG
FOR i = funx(1001) TO funx(1000 + N)
des = i
GOSUB lagrange
PSET (212 * (des / 1000 + 1) + 215, 250 - 200 * res / HG(1001))
NEXT i
RETURN
lagrange:
REM interpolacion de lagrange
sum = 0
g = 1001
WHILE funx(g) < des * .999
g=g+1
WEND
cont1 = g - 2: cont2 = g + 1
IF cont1 = 1000 OR cont1 = 999 THEN cont1 = 1001: cont2 = 1004
IF cont2 = N + 1001 THEN cont2 = N + 1000
FOR j = cont1 TO cont2
prod = 1
FOR k = cont1 TO cont2
IF k = cont2 AND j = cont2 THEN ban = 1
IF k = j THEN k = k + 1
IF ban = 0 THEN prod = prod * (des - funx(k)) / (funx(j) - funx(k))
NEXT k
ban = 0
sum = sum + prod * funy(j)
NEXT j
res = sum
RETURN
xy:
FOR l = 1001 TO N + 1000
funx(l) = 1000 * x(l): funy(l) = (1000 * (y(l) - x(l))) * efi + 1000 * x(l)
PSET (212 * (funx(l) / 1000 + 1) + 215, 463 - 212 * funy(l) / 1000)
NEXT l
RETURN
xHL:
FOR l = 1001 TO N + 1000
funx(l) = 1000 * x(l): funy(l) = HL(l)
PSET (212 * (funx(l) / 1000 + 1) + 215, 250 - 200 * funy(l) / HG(1001))
NEXT l
RETURN
yHG:
FOR l = 1001 TO N + 1000
funx(l) = 1000 * y(l): funy(l) = HG(l)
PSET (212 * (funx(l) / 1000 + 1) + 215, 250 - 200 * funy(l) / HG(1001))
NEXT l
RETURN
REM agua-etanol
REM clave de identificacin,N de datos de eq. disponibles, peso m. del menos vol til, peso m. del m s vol til, temp. de ref.
para entalpas
DATA m1,16,18.02,46,19.69
REM tC,x,y,CL(kJ/kg K),hsol(KJ/Kmol A),CLA,lambdaA,CLB,lambdaB
DATA 100,0,0,4.186,0,1.6,627.6,2.323,2314
DATA 95.5,0.019,0.17,4.186,0,1.6,627.6,2.323,2314
DATA 89,0.0721,0.3891,4.186,0,1.6,627.6,2.323,2314
DATA 86.7,0.0966,0.4375,4.186,0,1.6,627.6,2.323,2314
DATA 85.3,.1238,.4704,4.186,0,1.6,627.6,2.323,2314
DATA 84.1,0.1661,0.5089,4.186,0,1.6,627.6,2.323,2314
DATA 82.7,0.2337,0.5445,4.186,0,1.6,627.6,2.323,2314
DATA 82.3,0.2608,0.558,4.186,0,1.6,627.6,2.323,2314
DATA 81.5,0.3273,0.5826,4.186,0,1.6,627.6,2.323,2314
DATA 80.7,.3965,.6122,4.186,0,1.6,627.6,2.323,2314
DATA 79.8,0.5079,0.6564,4.186,0,1.6,627.6,2.323,2314
DATA 79.7,0.5198,0.6599,4.186,0,1.6,627.6,2.323,2314
DATA 79.3,0.5732,0.6841,4.186,0,1.6,627.6,2.323,2314
DATA 78.74,0.6763,0.7385,4.186,0,1.6,627.6,2.323,2314
DATA 78.41,.7472,.7815,4.186,0,1.6,627.6,2.323,2314
DATA 78.15,.8943,.8943,4.186,0,1.6,627.6,2.323,2314
REM agua-metanol
REM clave de identificacin,N de datos de eq. disponibles, peso m. del menos vol til, peso m. del m s vol til, temp. de ref.
para entalpas
DATA m2,17,18.02,32.04,19.69
12
REM t,x,y,CL,hsol,CLA,lambdaA,CLB,lambdaB
DATA 100,0,0,3.852,-3000,2.583,1047,2.323,2314
DATA 96.4,0.02,0.134,3.852,-3000,2.583,1047,2.323,2314
DATA 93.5,0.04,0.23,3.852,-3000,2.583,1047,2.323,2314
DATA 91.2,0.06,0.304,3.852,-3000,2.583,1047,2.323,2314
DATA 89.3,0.08,0.365,3.852,-3000,2.583,1047,2.323,2314
DATA 87.7,0.1,0.418,3.852,-3000,2.583,1047,2.323,2314
DATA 84.4,0.15,0.517,3.852,-3000,2.583,1047,2.323,2314
DATA 81.7,0.2,0.579,3.852,-3000,2.583,1047,2.323,2314
DATA 78,0.3,0.665,3.852,-3000,2.583,1047,2.323,2314
DATA 75.3,0.4,0.729,3.852,-3000,2.583,1047,2.323,2314
DATA 73.1,0.5,0.779,3.852,-3000,2.583,1047,2.323,2314
DATA 71.2,0.6,0.825,3.852,-3000,2.583,1047,2.323,2314
DATA 69.3,0.7,0.87,3.852,-3000,2.583,1047,2.323,2314
DATA 67.5,0.8,0.915,3.852,-3000,2.583,1047,2.323,2314
DATA 66,0.9,0.958,3.852,-3000,2.583,1047,2.323,2314
DATA 65,0.95,0.979,3.852,-3000,2.583,1047,2.323,2314
DATA 64.5,1,1,3.852,-3000,2.583,1047,2.323,2314
Apndice B
y ( x ) = yi
i =0
j =n
x xj
j =0, j i
xi x j
13