You are on page 1of 11

METODO GRAFICO RIGUROSO DE DESTILACION BINARIA

Parra Milin, R.
Universidad Nacional Pedro Ruiz Gallo
Facultad de Ingeniera Qumica e Industrias Alimentarias

RESUMEN
El presente trabajo se desarroll, con la finalidad de aplicar el modelo UNIFAC en la destilacin
binaria de metanol-agua a 760 mmHg utilizando el mtodo grafico riguroso de Ponchon y Savarit.
Las ecuaciones fueron transcritas en un lenguaje de programacin conocida MATLAB, siendo
ejecutadas al mismo tiempo. Se determino que tanto el modelo UNIFAC as como el mtodo
grafico pueden elaborarse sin restriccin alguna.

PALABRAS CLAVES
Equilibrio lquido vapor. Ley de Raoult modificada, Mtodo grafico Ponchon-Savarit
ABSTRACT
This research was made with the aim to apply UNIFAC model into methanol-water binary
distillation at 760 mmHg using Ponchon and Savarit rigorous graphic method. The equations were
written in a programming language called MATLAB, being executed simultaneously. It was
determined that both the UNIFAC model and Ponchon and Savarit rigorous graphic method may be
made without restriction.

KEY WORDS
Liquid vapor equilibrium, Modified Law of Raoult, Ponchon-Savarit graphic method.

INTRODUCCION
El mtodo de destilacin grafica simplificada de McCabe-Thiele, asume que los flujos molares
tanto de lquido descendente como vapor ascendente permanecen constantes en cualquier seccin de
la columna. De esta manera realiza solo el intercambio de materia en cada etapa de la columna,
despreciando el intercambio de calor entre aquellos. El mtodo de destilacin grafica riguroso de
Ponchon y Savarit toma en cuenta la variacin de los flujos molares de lquido descendente como
vapor ascendente. La nica consideracin que toma en cuenta es que la columna opere
adiabticamente.

REVISION DE LITERATURA
EVL a presiones bajas y moderadas.
Cuando se opera en sistema de presiones bajas o moderadas, para el clculo tanto del punto de
burbuja como de roco se realizan con la ley de Raoult:

Ley de Raoult y

P = x

P
I
sat


Desafortunadamente esta ley nos introduce ciertos errores en el clculo del equilibrio liquido-vapor,
por lo cual se introduce un coeficiente y

, que es el coeficiente de actividad, dando de esta manera la


ley de Raoult modificada

Ley de Raoult modificada y

P = x

P
I
sat


M+N
a
a-1

n-1
a+1
Vn-1 Ln
M+N
n+1
n
Vn Ln-1
VM+N LD
D xD
QD
a-1
m+1
m
Vm+1 La-1

m-1
1
Vm Lm+1
QR
R xR
VR L1
F xF
Se han desarrollado modelos que pueden predecir los coeficientes de actividad con precisin (Van
Laar, Margules, Wilson, NRTL, UNIQUAC y UNIFAC). Este ltimo se basa en la interaccin
que tienen los grupos funcionales, un conjunto de sumatorias que su ejecucin a mano es laborioso.
Al no obtener laos parmetros binarios de los dems modelos se opto por la aplicacin del modelo
UNIFAC. La expresin matemtica se presenta en el texto de Prausnitz, siendo complejo en su
transcripcin, se despejo trmino a trmino y se llego a la forma simplificada que presenta Van
Ness.

Mtodo Grafico de Ponchon y Savarit
El mtodo grafico de Ponchon y Savarit, es un mtodo
grafico riguroso que combina tanto los balances de
materia como los balances entlpicos, y que podr ser
aplicable a cualquier sistema binario a separar, sin que
se tenga restriccin alguna.

Zona de Rectificacin
Balance de materia: v
n
= L
n+1
+ B
Balance de materia del componente ms voltil:
v
n
y
n
= L
n+1
x
n+1
+ Bx
D

Balance de energia: v
n
B
n
= L
n+1
h
n+1
+ Q
D
+ Bh
D

Donde BN
D
= Q
D
+ Bh
D

v
n
B
n
= L
n+1
h
n+1
+ BN
D


Despejando tenemos:

M
D
-H
n
x
D
-y
n
=
h
n+1
-H
n
x
n+1
-y
n


Zona de Agotamiento
Balance de materia: L
n+1
= v
n
+ R
Balance de materia del componente ms voltil:
L
m+1
x
m+1
= v
m
y
m
+
Rx
R

Balance de energia: L
m+1
h
m+1
+ Q
R
= v
m
B
m
+Rh
R

Donde RN
R
= Rh
R
- Q
R

L
m+1
h
m+1
= v
m
B
m
+RN
R


Despejando tenemos:

M
R
-H
m
x
R
-y
m
=
h
m+1
-H
m
x
m+1
-y
m


Calculo de M
D
: N
D
= [
L
D
D
+1 B
D
-[
L
D
D
h
D
, donde R= L
D
/D

Calculo de M
R
: N
R
= B
I
- [
M
D
-H
I
x
D
-x
I
(x
I
-x
R
)
Finalmente: Q
D
= B(N
D
-h
D
) , Q
R
= R(h
R
-N
R
)
Inyeccin directa de vapor:
Si uno de los componentes de la mezcla binaria a separar fuese agua, se es factible la aplicacin
directa de vapor en sustitucin de la caldera. Para la determinacin de vapor de agua se despejan las
ecuaciones mostradas, mtodos diferentes realizan la determinacin grficamente.
Balance de materia F +v = B + R
B. de materia del componente ms voltil Fx
I
= Bx
D
+ Rx
R

Balance de energia FB
I
+v = BN
D
+ Rh
R

Despejando: B = F [
(H
I
-)x
R
-(h
R
-)x
I
(M
D
-)x
R
-(h
R
-)x
D

Calculo del punto (x
c
,M
c
)

M
D
-H
I
x
D
-x
I
=
M
D
-M
C
x
D
-x
C



h
R
-
x
R
-0
=
M
C
-
x
C
-0


Igualando y despejando tenemos: x
C
=
M
D
--_
M
D
-H
I
x
D
-x
I
]x
D
_
h
R
-
x
R
]-_
M
D
-H
I
x
D
-x
I
]


Donde: N
C
= + [
h
R
-
x
R
x
C


RESULTADOS
Se elabor el archivo Meth_Ponchon_Savarit.m con la capacidad de leer tanto datos calculados
como experimentales para el clculo de etapas por el mtodo de Ponchon-Savarit. Se utilizo con
fines tericos datos calculados mediante la ecuacin de Raoult modificada, calculando una nube de
10000 puntos utilizando el modelo UNIFAC para el clculo de los coeficientes de actividad, siendo
el caso ms sencillo en estudio el sistema binario metanol-agua a 760 mmHg.

Caso en estudio:
A la presin de 760 mmHg se separa una mezcla binaria de metanol-agua ingresando a su punto de
burbuja, con 36.0% mol de metanol con una alimentacin de 100 Kmol/h. Se obtiene un producto
de destilado de composicin molar de 91.5% y de fondos de 2.87%. El destilado se va a condensar
totalmente y el reflujo se va a regresar en su punto de burbuja. Se va a utilizar una relacin de
reflujo externa de 1.17. Se estudia la separacin en dos etapas:
Con condensador total y reboiler,
Con condensador total e inyeccin de vapor de agua.

En esta seccin solo se presentan un nmero limitado de puntos que se muestran en la tabla n01.
Tabla n01: Datos Entlpicos y de Equilibrio liquido-vapor calculados para el sistema
Metanol-Agua a 760 mmHg
Temperatura
(K)
Fraccin mol de
metanol en el
liquido
Fraccin mol de
metanol en el
vapor
h
l

(Mcal/kgmol)
H
g

(Mcal/kgmol)
373.1521 0.0000 0.0000 1.8050 11.2292
360.8420 0.1000 0.4230 1.5967 11.1612
355.0072 0.2000 0.5795 1.5023 10.9095
351.3263 0.3000 0.6692 1.4454 10.7105
348.5849 0.4000 0.7336 1.4046 10.5494
346.3233 0.5000 0.7864 1.3718 10.4110
344.3358 0.6000 0.8333 1.3432 10.2867
342.5203 0.7000 0.8770 1.3172 10.1717
340.8215 0.8000 0.9188 1.2928 10.0632
339.2081 0.9000 0.9597 1.2694 9.9596
337.6608 1.0000 1.0000 1.2466 9.8599
Fuente: Autor


Grafica n01: Diagrama Entalpia vs composicin

Calculo del nmero de Etapas por el Mtodo grafico de Ponchon-Savarit
Con condensador total y reboiler:

Grafica n02: Mtodo de destilacin grafica Ponchon-Savarit con condensador total
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
2
4
6
8
10
12
Diagrama Entalpico para el sistema binario Metanol-Agua a 760 mmHg
Fraccion molar de metanol x,y
E
n
t
a
l
p
i
a

e
s
p
e
c
i
f
i
c
a

m
o
l
a
r

H
,
h

(

M
c
a
l
/
K
m
o
l

)
H
g
vs y
h
l
vs x
H
g
vs y
h
l
vs x
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-12
-10
-8
-6
-4
-2
0
2
4
6
8
10
12
14
16
18
20
22
1
2
3
4
5
6 7
Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg
Fraccion molar de metanol x,y
E
n
t
a
l
p
i
a

e
s
p
e
c
i
f
i
c
a

m
o
l
a
r

H
,
h

(

M
c
a
l
/
K
m
o
l

)
(x
D
,M
D
)
(x
R
,M
R
)
De la grafica se ha obtenido 7 platos tericos, de los cuales 1 corresponde al hervidor. La entrada de
la alimentacin se realizara en el plato n4.
Obteniendo: M
D
= 20.0983 Mcal/Kmol, M
R
= -9.7303 Mcal/Kmol
Destilado= 37.3801 Kmol/h, Fondos= 62.6199 Kmol/h.
Calculando los flujos de calor del condensador y del reboiler:
Q
D
= 703.9552 Mcal/h, Q
R
= 717.1834 Mcal/h

Con condensador total e inyeccin de vapor de agua.

Grafica n03: Mtodo grafico Ponchon-Savarit con condensador total e inyeccin de vapor

De la grafica se ha obtenido 7 platos tericos, con la inyeccin de vapor, siendo la entrada de la
alimentacin en el plato n4.
Obteniendo: M
D
= 20.0983 Mcal/Kmol, M
C
= -8.7464 Mcal/Kmol
Calor latente del vapor de agua: 12.00 Mcal/Kmol
Calculando los flujos de calor del condensador: Q
D
= 663.7287 Mcal/h y el flujo de vapor: 65.9640
Kmol/h, Destilado= 35.2441 Kmol/h, Fondos= 130.7199 Kmol/h

CONCLUSIONES
Se comprob que la ejecucin del mtodo grafico riguroso de Ponchon-Savarit as como el clculo
de los coeficientes de actividad por el modelo UNIFAC puede realizarse en el lenguaje de
programacin MATLAB.

BIBLIOGRAFIA
Henley S. Operaciones de separacin por etapas de equilibrio en ingeniera qumica. Ed. Reverte.
2000

Martnez P. y Rus E. Operaciones de separacin en ingeniera qumica-Mtodos de clculo. Ed.
Prentice Hall. 2004

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-10
-8
-6
-4
-2
0
2
4
6
8
10
12
14
16
18
20
22
1
2
3
4
5
6 7
Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg
Fraccion molar de metanol x,y
E
n
t
a
l
p
i
a

e
s
p
e
c
i
f
i
c
a

m
o
l
a
r

H
,
h

(

M
c
a
l
/
K
m
o
l

)
(x
D
,M
D
)
(x
C
,M
C
)
Perry R.H., and Green D.W., Perry's Chemical Engineer's Handbook. McGrawHill, 8
th
edition,
2008.

Poling B.E., Prausnitz J.M. and OConnell J.P., The properties of Gases and Liquids.
McGrawHill, 5
th
edition, 2001.

Smith J.M., Van Ness H.C., and Abbott M.M., Introduction to Chemical Engineering
Thermodynamics. McGrawHill, 7
th
edition, 2005.

Yaws, Carl. Chemical Properties Handbook. McGraw-Hill. 1999.

Archivo Meth_Ponchon_Savarit.m
disp(' Pra condensador total y una sola alimentacion')
data=load('datos_UNIFAC_Ideal.txt');
T=data(:,1);x=data(:,2);y=data(:,3);h=data(:,4);H=data(:,5);
xd=0.915; %Composicion de destilado 0.9
xb=0.0287; %Composicion de fondos 0.0008
zf=0.36; %Composicion de alimentacion 0.4507
q= 1;
F=100;% Kmol/h
D=F*(zf-xb)/(xd-xb);W=F-D;
figure(1); hold on; grid off % une las graficas.
plot(x,h,'-',y,H,'-'); axis on; box on;
set(gca,'YMinortick','on','XMinortick','on')
hd=interp1(x,h,xd); Hd=interp1(x,H,xd); yb=interp1(x,y,xb);Hb=interp1(y,H,yb);
yf=interp1(x,y,zf); Hf=interp1(y,H,yf); hf=interp1(x,h,zf); hb=interp1(x,h,xb);
MDm=(Hf-hf)/(yf-zf)*(xd-zf)+hf;Rm=(MDm-Hf)/(Hf-hf);
R=1.17;
MD=((R+1)*Hd-R*hd); MR=hf-((MD-hf)/(xd-zf))*(zf-xb);
set(line([zf zf] ,[0 hf]),'Color',[.1 .1 0],'Linestyle',':') %para zf
set(line([xd xd] ,[0 MD]),'Color',[.1 .1 0],'Linestyle',':') %para xd
set(line([xb xb] ,[Hb MR]),'Color',[.1 .1 .1],'Linestyle',':') %para xb
set(line([zf xd] ,[hf MD]),'Color',[1 0 0],'Linestyle','-')
set(line([zf xb] ,[hf MR]),'Color',[1 0 0],'Linestyle','-')
set(line([0 1] ,[0 0]),'Color',[0 0 0],'Linestyle','-')
%Zona de enriquecimiento
i=1; xp(1)=xd; yp(1)=xd; count1=0;
tic
while (xp(i)>zf)
xp(i+1)=interp1(y,x,yp(i)); %interpolacion
H1(i)=interp1(y,H,yp(i));
h1(i+1)=interp1(x,h,xp(i+1));
set(line([xp(i+1) yp(i)] ,[h1(i+1) H1(i)]),'Color',[0 .5 .5],'LineWidth',1.5)
if (xp(i+1)>zf)
set(line([xp(i+1) xd] ,[h1(i+1) MD]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1)
end
%Iterar para encontrar y%
ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0;
while abs(er(i+1))>1e-12
He(i+1)=interp1(y,H,ypp(i+1));
mm(i+1)=(xp(i+1)-xd)/(h1(i+1)-MD);
yp1(i+1)=(He(i+1)+xp(i+1)/mm(i+1)-h1(i+1))*mm(i+1);
er(i+1)=ypp(i+1)-yp1(i+1);
ypp(i+1)=yp1(i+1); hh=hh+1;
end
ii=num2str(i); text(yp(i),H1(i),ii,'FontSize',10,'VerticalAlignment','bottom');
yp(i+1)=ypp(i+1); i=i+1; count1=count1+1;
end
% Zona de agotamiento
count2=count1;
while (xp(i)>xb)
%Iterar para encontrar y%
ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0;
while abs(er(i+1))>1e-12
He(i+1)=interp1(y,H,ypp(i+1));
nn(i)=(xp(i)-xb)/(h1(i)-MR);
yp1(i+1)=(He(i+1)+xp(i)/nn(i)-h1(i))*nn(i);
er(i+1)=ypp(i+1)-yp1(i+1);
ypp(i+1)=yp1(i+1); hh=hh+1;
end
yp(i+1)=ypp(i+1);
xp(i+1)=interp1(y,x,yp(i+1)); %interpolacion
H1(i+1)=interp1(y,H,yp(i+1));
h1(i+1)=interp1(x,h,xp(i+1));
set(line([xp(i+1) yp(i+1)] ,[h1(i+1) H1(i+1)]),'Color',[0 .5 .5],'LineWidth',1.5)
set(line([yp(i+1) xb] ,[H1(i+1) MR]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1)
ii=num2str(i); text(yp(i+1),H1(i+1),ii,'FontSize',10,'VerticalAlignment','bottom');
i=i+1; count2=count2+1;
end
toc
[M]=get(gca,'Ylim'); M(1)=M(1)-2;M(2)=M(2)-3; M=[M(1) M(2)];set(gca,'Ylim',M);
[N]=get(gca,'Ytick'); N(1)=M(1); N(end)=M(2); N=[N(1):2:N(end)];set(gca,'Ytick',N);
fprintf('Numero de platos en la columna: %3d\n',(count2)-1)
title('Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg','fontsize',12)
xlabel('Fraccion molar de metanol x,y','fontsize',12);
ylabel('Entalpia especifica molar H,h ( Mcal/Kmol )','fontsize',12)
text(xd,MD,' (x_D,M_D)','FontSize',9,'VerticalAlignment','cap');
text(xb,MR,' (x_R,M_R)','FontSize',9,'VerticalAlignment','middle')
Qd=D*(MD-hd);QR=W*(hb-MR);
fprintf('MD= %7.4f Mcal/Kmol, MR= %7.4f Mcal/Kmol, QD= %7.4f Mcal/h, QR= %7.4f Mcal/h
\n',MD,MR,Qd,QR)
fprintf('F= %7.4f Kmol/h, D= %7.4f Kmol/h, W= %7.4f Kmol/h \n',F,D,W)

Archivo Meth_Ponchon_Savarit_2.m
clear all; clc; clf
disp(' Pra condensador total e inyeccion de vapor de agua')
data=load('datos_UNIFAC_Ideal.txt');
T=data(:,1);x=data(:,2);y=data(:,3);h=data(:,4);H=data(:,5);
xd=0.915; %Composicion de destilado 0.9
xb=0.0287; %Composicion de fondos 0.0008
zf=0.36; %Composicion de alimentacion 0.4507
q= 1;
F=100;% Kmol/h
Lambda=12; % Calor latente de vaporizacion del vapor de agua Mcal/Kmol
figure(1); hold on; grid off % une las graficas.
plot(x,h,'-',y,H,'-');axis on; box on
set(gca,'YMinortick','on','XMinortick','on')
hd=interp1(x,h,xd); Hd=interp1(x,H,xd); yb=interp1(x,y,xb);Hb=interp1(y,H,yb);
yf=interp1(x,y,zf); Hf=interp1(y,H,yf); hf=interp1(x,h,zf);hb=interp1(x,h,xb);
MDm=(Hf-hf)/(yf-zf)*(xd-zf)+hf; Rm=(MDm-Hf)/(Hf-hf);
R=1.17; %Razon de reflujo R=L/D calcular
% R=Rm*2; %Relacion de reflujo R=L/D calcular o ingresar directo
MD=((R+1)*Hd-R*hd); MR=hf-((MD-hf)/(xd-zf))*(zf-xb);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
m1=(MD-hf)/(xd-zf); m2=(hb-Lambda)/xb; xc=(MD-Lambda-m1*xd)/(m2-m1); Mc=Lambda+m2*xc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
set(line([0 xc] ,[Lambda Mc]),'Color',[.1 .1 0],'Linestyle',':')
set(line([zf zf] ,[0 hf]),'Color',[.1 .1 0],'Linestyle',':') %para zf
set(line([xd xd] ,[0 MD]),'Color',[.1 .1 0],'Linestyle',':') %para xd
set(line([zf xd] ,[hf MD]),'Color',[1 0 0],'Linestyle','-')
set(line([zf xc] ,[hf Mc]),'Color',[1 0 0],'Linestyle','-')
set(line([0 1] ,[0 0]),'Color',[0 0 0],'Linestyle','-')
%Zona de enriquecimiento
i=1; xp(1)=xd; yp(1)=xd; count=0;
tic
while (xp(i)>zf)
xp(i+1)=interp1(y,x,yp(i)); %interpolacion
H1(i)=interp1(y,H,yp(i));
h1(i+1)=interp1(x,h,xp(i+1));
set(line([xp(i+1) yp(i)] ,[h1(i+1) H1(i)]),'Color',[0 .5 .5],'LineWidth',1.5)
if (xp(i+1)>zf)
set(line([xp(i+1) xd] ,[h1(i+1) MD]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1)
end
%Iterar para encontrar y%
ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0;
while abs(er(i+1))>1e-12
He(i+1)=interp1(y,H,ypp(i+1));
mm(i+1)=(xp(i+1)-xd)/(h1(i+1)-MD);
yp1(i+1)=(He(i+1)+xp(i+1)/mm(i+1)-h1(i+1))*mm(i+1);
er(i+1)=ypp(i+1)-yp1(i+1);
ypp(i+1)=yp1(i+1); hh=hh+1;
end
ii=num2str(i); text(yp(i),H1(i),ii,'FontSize',10,'VerticalAlignment','bottom');
yp(i+1)=ypp(i+1); i=i+1; count=count+1;
end
% Zona de agotamiento
while (xp(i)>xb)
%Iterar para encontrar y%
ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0;
while abs(er(i+1))>1e-12
He(i+1)=interp1(y,H,ypp(i+1));
nn(i)=(xp(i)-xc)/(h1(i)-Mc);
yp1(i+1)=(He(i+1)+xp(i)/nn(i)-h1(i))*nn(i);
er(i+1)=ypp(i+1)-yp1(i+1);
ypp(i+1)=yp1(i+1); hh=hh+1;
end
yp(i+1)=ypp(i+1);
xp(i+1)=interp1(y,x,yp(i+1)); %interpolacion
H1(i+1)=interp1(y,H,yp(i+1));
h1(i+1)=interp1(x,h,xp(i+1));
set(line([xp(i+1) yp(i+1)] ,[h1(i+1) H1(i+1)]),'Color',[0 .5 .5],'LineWidth',1.5)
set(line([yp(i+1) xc] ,[H1(i+1) Mc]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1)
ii=num2str(i); text(yp(i+1),H1(i+1),ii,'FontSize',10,'VerticalAlignment','bottom');
i=i+1; count=count+1;
end
toc
[M]=get(gca,'Ylim'); M(1)=M(1);M(2)=M(2)-3; M=[M(1) M(2)];set(gca,'Ylim',M);
[N]=get(gca,'Ytick'); N(1)=M(1); N(end)=M(2); N=[N(1):2:N(end)];set(gca,'Ytick',N);
fprintf('Numero de platos en la columna: %3d\n',count)
title('Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg','fontsize',12)
xlabel('Fraccion molar de metanol x,y','fontsize',12);
ylabel('Entalpia especifica molar H,h ( Mcal/Kmol )','fontsize',12)
text(xd,MD,' (x_D,M_D)','FontSize',9,'VerticalAlignment','cap');
text(xc,Mc,' (x_C,M_C) ','FontSize',9,'VerticalAlignment','middle')
D=F*((hf-Lambda)*xb-(hb-Lambda)*zf)/((MD-Lambda)*xb-(hb-Lambda)*xd);
Qd=D*(MD-hd); W=(F*zf-D*xd)/xb; Vv=D+W-F;
fprintf('MD= %7.4f Mcal/Kmol, MC= %7.4f Mcal/Kmol, QD= %7.4f Mcal/h \n',MD,Mc,Qd)
fprintf('F= %7.4f Kmol/h, D= %7.4f Kmol/h, W= %7.4f Kmol/h, V= %7.4f Kmol/h \n',F,D,W,Vv)

El Archivo gamma_UNIFAC.m se utiliz para el clculo de Temperatura de burbuja. El algoritmo
de ejecucin se encuentra en el texto de Van Ness.

Archivo gamma_UNIFAC.m
vka=Vkdata('metanol'); vkb=Vkdata('agua'); vka=vka'; vkb=vkb';
data=load('Grupos_Subgrupos.txt'); Grupo=1; Subgrupo=2; R_k=3; Q_k=4;
G_data=data(:,Grupo);G_m=G_data(:); Sg_data=data(:,Subgrupo);S_k=Sg_data(:);
R_data=data(:,R_k);R=R_data(:); Q_data=data(:,Q_k);Q=Q_data(:); a=load('a_m_k.txt');
vki=[vka vkb]; vt=vka'+vkb'; K=find(vt~=0); nn1=length(vki(1,:));
T= ; %Temperatura en K
xx1=0:0.0001:1; % Componente mas voltil.
xx1=xx1'; xx2=1-xx1; xx=[xx1 xx2]; nn2=length(xx1); T=T*ones(nn2,1);
sumae1=zeros(nn2,1);sumae2=zeros(nn2,1); sumad1=zeros(nn2,1); sumaf=zeros(nn2,nn1); z=10;
tic
for i=1:nn1 % Calculo de ri y qi
r(i)=0; q(i)=r(i);
for k=K
r(i)=vki(k,i)*R(k)+r(i);
q(i)=vki(k,i)*Q(k)+q(i);
end
end
for j=1:nn1 % Calculo de eki
for k=K
e(k,j)=vki(k,j)*Q(k)/q(j);
end
end
e(K,:);
for KK=1:nn2;
for k=K % Calculo de thetak
for h=1:nn1
p(k,h,KK)=xx(KK,h)*q(h)*e(k,h);
d(KK,h)=xx(KK,h)*q(h);
end
theta1(KK,k)=sum(p(k,:,KK))/sum(d(KK,:));
end
theta1(KK,K);
a(G_m(K),G_m(K));
for i=K % Calculo de Sk
S(KK,i)=0;
for j=K
S(KK,i)=theta1(KK,j)*exp(-a(G_m(j),G_m(i))/T(KK))+S(KK,i);
end
end
S(KK,K);
for i=1:nn1 % Calculo de beta
beta(i,K,KK)=0;
for k=K
for k2=K
beta(i,k,KK)=e(k2,i)*exp(-a(G_m(k2),G_m(k))/T(KK))+beta(i,k,KK);
end
end
end
beta(:,K,KK);

for w=1:nn1
sumae1(KK)=r(w)*xx(KK,w)+sumae1(KK);
sumae2(KK)=q(w)*xx(KK,w)+sumae2(KK);
end
for j=1:nn1
JJ(KK,j)=r(j)/sumae1(KK);
LL(KK,j)=q(j)/sumae2(KK);
end
for kk=1:nn1 % Calculo de lngammaC
lngammaC(KK,kk)=1-JJ(KK,kk)+log(JJ(KK,kk))-(z/2)*q(kk)*(1-
JJ(KK,kk)/LL(KK,kk)+log(JJ(KK,kk)/LL(KK,kk)));
end
lngammaC(KK,:);
for ff=1:nn1 % Calculo de lngammaR
for k=K
sumaf(KK,ff)=theta1(KK,k)*beta(ff,k,KK)/S(KK,k)- e(k,ff)*log(beta(ff,k,KK)/S(KK,k))+sumaf(KK,ff);
end
lngammaR(KK,ff)=q(ff)*(1-sumaf(KK,ff));
end
lngammaR(KK,:);
for jj=1:nn1
gamma(KK,jj)=exp(lngammaC(KK,jj)+lngammaR(KK,jj));
end
fprintf('%3d %7.16f %7.14f\n',KK,gamma(KK,1),gamma(KK,2));
gamma(KK,:);
end
toc

You might also like