Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unifac Matlab
Unifac Matlab
Estos parmetros se obtienen al definir las unidades funcionales que conforman una
molcula y que interactan entre s confiriendo las caractersticas propias de cada
especie qumica. A cada unidad funcional se le asocia un volumen relativo (Rr) y un
rea superficial relativa (Qk), y se considera adems, el efecto energtico de
asociacin entre ellas. Los grupos funcionales del Mtodo UNIFAC tienen similitud con
los grupos funcionales de la qumica orgnica. Se definen en base a los mismos
criterios: alcanos, alquenos, aromticos, etc y se han agregado otros grupos
especficos como los halogenuros, sulfuros, etc. totalizando 50 grupos principales,
cada uno de ellos identificado por un nmero principal NP del 1 a 50.
A su vez, cada grupo principal est subdividido en subgrupos funcionales en base al
grado de sustitucin y tipo de enlace del carbono que lo integra. Se han determinado
108 subgrupos, identificados numricamente NS del 1 a 108.
Nos basamos en este ejemplo, luego para T=50 C.
En MATLAB se crea un programa donde se halle por medio de un vector las Pv.
H2O(1)/CH3CH2OH(2)
4 COMPONENTES PUROS: H 2O
CH 3
CH 2
OH
PARAMETROS DE LAS SUSTANCIAS PURAS
Los V= (1 0, 0 1, 0 1, 0 1)
Calculamos:
AREA MOLECULAR RELATIVA
T=50+273.15;
T1=50;
A=[16.262 16.6758];
B=[3799.89 3674.49];
C=[226.35 226.45];
pv1=ant(A(1),B(1),C(1),T1);
pv2=ant(A(2),B(2),C(2),T1);
pv=[pv1 pv2]';
for i=1:21
x(:,i)=[(i-1)/20;(21-i)/20];
end
c=2;
g=4;
R=[0.92 0.9011 0.6744 1]';
Q=[1.4 0.848 0.54 1.2]';
v=[1 0;0 1;0 1;0 1];
alfa=[0 300 300 -229.1;1318 0 0 986.5;1318 0 0 986.5;353.3 156.4 156.4 0];
for i=1:c
G(:,i)=v(:,i).*Q(:,1);
end
q1=0;
q2=0;
for i=1:g
q1=q1+G(i,1);
q2=q2+G(i,2);
end
q=[q1 q2]';
tetha=G*x;
for i=1:nc
opc(:,i)=v(:,i).*R(:,1);
end
r1=0;
r2=0;
for i=1:ng
r1=r1+opc(i,1);
r2=r2+opc(i,2);
end
r=[r1 r2]';
for i=1:21
rx(:,i)=r(:,1)'*x(:,i);
end
for i=1:21
J(:,i)=r(:,1)./rx(:,i);
end
for i=1:21
qx(:,i)=q(:,1)'*x(:,i);
end
for i=1:21
L(:,i)=q(:,1)./qx(:,i);
end
func=exp(-alfa/T);
s=func'*G;
n=s*x;
tethaG1=0;
tethaG2=0;
for i=1:21
tethaG1(i)=(tetha(:,i)./n(:,i))'*s(:,1)-G(:,1)'*log(s(:,1)./n(:,i));
tethaG2(i)=(tetha(:,i)./n(:,i))'*s(:,2)-G(:,2)'*log(s(:,2)./n(:,i));
tethaG(:,i)=[tethaG1(i) tethaG2(i)];
end
I=[1;1];
LnL=log(L);
for i=1:21
lnyR(:,i)=q(:,1).*(I(:,1)-LnL(:,i))-tethaG(:,i);
end
LnL1=log(J);
for i=1:21
lnyC(:,i)=I(:,1)-J(:,i)+LnL1(:,i)-5*q(:,1).*(I(:,1)-J(:,i)./L(:,i)+log(J(:,i)./L(:,i)));
end
Lny=lnyC+lnyR;
gamma=exp(Lny);
for i=1:21
P(:,i)=pv(:,1)'*(x(:,i).*gamma(:,i));
y(:,i)=x(:,i).*gamma(:,i).*pv(:,1)/P(:,i);
end
plot(x(1,:),P(1,:),'-or',y(1,:),P(1,:),'-og','LineWidth',2)
h=legend('x-P','y-P',1,2);
title('Grafica P-x-y (UNIFAC)')
xlabel('x;y')
ylabel('Presion(kPa)')
fprintf('%60s\n', 'GRAFICA PRESION vs. FRACCION MOLAR(X,Y)');
disp('
____________________________________________________________________')
;
disp(' ');
fprintf('%14s%13s%13s%13s%13s\n','x1','gamma1','gamma2','P(kPA)','y1');
disp('
____________________________________________________________________')
;
disp(' ');
for i=1:21
fprintf('%14.2f%13.4f%14.4f%13.4f
%13.4f\n',x(1,i),gamma(1,i),gamma(1,i),P(1,i),y(1,i));
end
Se obtuvo:
Grficamente:
OTRO EJEMPLO
El sistema ternario que escogimos es 1,2 dimetoxietano (1)/ benzaldehdo(2)/ o-
xileno(3). Y a continuacin presentamos las matrices:
[] []
1.1450 1.0880
0.6744 0.5400
R= 0.5313 Q= 0.4000
0.3652 0.1200
0.9980 0.9480
1.2663 0.9680
[ ]
2 0 0
2 0 0
0 5 1
V=
0 1 0
0 1 0
0 0 2
[ ]
0 83.36 52.13 52.13 7.838 65.69
251.5 0 61.13 61.13 677 76.5
= 32.14 11.12 0 0 347.3 167
32.14 11.12 0 0 347.3 167
304.1 505.7 23.39 23.39 0 106
213.1 69.7 146.8 146.8 586.8 0
OTRO EJEMPLO
function [Y] = WILSON(a,v,x,T)
R=1.987
A1=v(2).*exp(-a(1)./(R.*T))./v(1);
A2=v(1).*exp(-a(2)./(R.*T))./v(2);
lnY1=-log(x(1)+A1.*x(2))+x(2)*(A1./(x(1)+A1.*x(2))-A2./
(x(2)+A2.*x(1)))
lnY2=-log(x(2)+A2.*x(1))-x(1)*(A1./(x(1)+A1.*x(2))-A2./
(x(2)+A2.*x(1)))
Y1=exp(lnY1)
Y2=exp(lnY2)
Y=[Y1,Y2]
end
OTRO EJEMPLO
4) Calculamos los coeficientes de actividad para la mezcla binaria metanol (1), acetona (2), por el
mtodo de Wilson, utilizando Matlab.
Parametros
Vol. Molar a12 a21
[cm^3*mol] [cal/mol] [cal/mol]
Metanol(
1) 40.73
593.11 -161.88
Acetona
(2) 74.05
>> Y=WILSON(a,v,x,T)
R =1.9870
lnY1 = 0.0345
lnY2 = 0.2002
Y= 1.0351 1.2216
Pb = 1.1974
y= 0.2923 0.7077
Pr = 1.1300
x= 0.5305 0.4695
Tb = 55.8997
y= 0.2853 0.7147
Tr = 57.2808
x= 0.5308 0.4692
OTRO EJEMPLO
for i=1:n
G(:,i)=V(:,i).*Q
end
q=sum(G)'
for i=1:n
u(:,i)=V(:,i).*R;
end
r=sum(u)'
tetha=G*x
J=r./sum(r.*x)
L=q./sum(q.*x)
tau=exp(-alfa/T)
S=tau'*G
n=S*x
for i=1:n
O(:,i)=tetha.*S(:,i)./n-G(:,i).*log(S(:,i)./n);
end
Su=sum(O)
lnYr=q.*(1-log(L))-Su'
lnYc=1-J+log(J)-5*q.*(1-J./L+log(J./L))
lnY=lnYc+lnYr
Y=exp(lnY)
Reemplazando valores
Q = 1.4320
0.8480
1.4880
Ingrese V: [1 0;0 1;0 1]
V=1 0
0 1
0 1
Ingrese alpha: [0 697.2
108.7;16.51 0 26.76;23.39 SE USA PARA UNIFAC
476.4 0] aij
alfa = 0 697.2000 108.7000
16.5100 0 26.7600
23.3900 476.4000 0
G = 1.4320 998.3904
0 0
0 708.8832
G =1.4320 0
0 0.8480
0 1.4880
q =1.432
2.3360
r = 1.4311
2.5735
tetha =0.572
0.5088
0.8928
J =0.6762
1.2159
L = 0.7253
1.1831
S =1.4320 2.2088
0.2207 1.2626
1.0698 2.2773
n =1.8981
0.8458
1.7943
Su = 1.5007
lnYr = 0.3912
0.4424
lnYc =-0.0503
-0.0160
lnY =0.3410
0.4264 Y 1=1.4063
Y2= 1.5318
OTRO EJEMPLO
2) Implemente las funciones y programas en Matlab para, en
base al modelo de Wilson o NRTL y la ley de Raoult
Modificada:
Parametros
Vol. Molar a12 a21
[cm^3*mol] [cal/mol] [cal/mol]
Metanol(
1) 40.73
593.11 -161.88
Acetona
(2) 74.05
R =1.9870
lnY1 = 0.1973
lnY2 = 0.0813
Y= 1.2181 1.0847
[Pb,y]=Pbmod(T,z,ant,a,v,n)
Pb = 1.1974
y = 0.2923 0.7077
[Pr,x]=Prmod(T,z,ant,a,v,n)
Pr = 1.1300
x = 0.5305 0.4695
[Tb,y]=Tbmod(P,z,ant,a,v,n)
Tb = 55.8997
y = 0.2853 0.7147
[Tr,x]=Trmod(P,z,ant,a,v,n)
Tr = 57.2808
x = 0.5308 0.4692
for i=1:n
G(:,i)=V(:,i).*Q
end
q=sum(G)'
for i=1:n
u(:,i)=V(:,i).*R;
end
r=sum(u)'
tetha=G*x
J=r./sum(r.*x)
L=q./sum(q.*x)
tau=exp(-alfa/T)
S=tau'*G
n=S*x
for i=1:n
O(:,i)=tetha.*S(:,i)./n-G(:,i).*log(S(:,i)./n);
end
Su=sum(O)
lnYr=q.*(1-log(L))-Su'
lnYc=1-J+log(J)-5*q.*(1-J./L+log(J./L))
lnY=lnYc+lnYr
Y=exp(lnY)
Reemplazando valores
q =1.432
2.3360
r = 1.4311
2.5735
tetha =0.572
0.5088
0.8928
J =0.6762
1.2159
L = 0.7253
1.1831
Su = 1.5007
lnYr = 0.3912
0.4424
lnYc =-0.0503
-0.0160
Y 1=1.4063
lnY =0.3410 Y2= 1.5318
0.4264
Y 1=1.4063; Y2= 1.531
>> Y=WILSON(a,v,x,T)
y=VanL(x,E)
y = 1.2303 1.0930
Metodo Y1 Y2
UNIFAC 1.4063 1.5131
WILSON 1.2181 1.0847
VAN LAAR 1.2303 1.0930
Podemos observar que coeficientes obtenidos por WILSON y VAN LAAR se asemejan
regularmente, pero son algo distintos a los coeficientes obtenidos por UNIFAC, esto se
debe a que UNIFAC no da valores ms certeros pues trabaja con valores reales.
OTRO EJEMPLO
Problema 6:
Seleccione un sistema ternario con una composicin determinada y calcule el
coeficiente de actividadde cada componente por el Mtodo UNIFAC. Implemente
el procedimiento en un programa en Matlaby adicionalmente, calcule la presin de
burbuja y roco para esta mezcla para una temperaturadeterminada.
Mediante el algoritmo del modelo UNIFAC, es necesario primero determinar los valores
de los parmetros partir de sus compuestos y molculas presentes en la mezcla ternaria,
se analizo los siguientes compuestos:
Isobutano(1)/acetona(2)/metil acetato(3)
Isobutano: grupos funcionales
3CH3 y CH
Acetona: grupos funcionales
CH3 y CH3CO
Metil acetato: grupos funcionales
CH3 y CH3COO
Total de grupos funcionales (sin repetir)=4
Numero de molculas= 3
[ ]
0.4232
Vector x= 0.3241
0.2527
[ ]
0.9011
0.4469
Vector R= 1.6724
1.9031
[ ]
0.8480
0.2280
Vector Q= 1.4880
1.7280
[ ]
3 1 1
1 0 0
Vector v= 0 1 0
0 0 1
[ ]
0 0 476.4 232.1
0 0 476.4 232.1
Vector = 26.760 26.760 0 213.7
114.8 114.8 372.2 0
Donde:
Y1= 1.6158
Y2=1.2968
Y3=1.2627
OTRO EJEMPLO
CODIGO MATLAB
('Los valores de Ri, Qi y Xi deben ser ingresados
Cdigo MATLAB
R = input('R = ')
Q = input('Q = ')
v = input('v = ')
a = input('alfa = ')
T = input('T = ')
x = input('x = ')
nc = length(x);
for i=1:nc
q(i,1)=sum(v(:,i).*Q);
end
for i=1:nc
r(i,1)=sum(v(:,i).*R);
end
for i=1:nc
G(:,i)=v(:,i).*Q;
end
theta = G*x;
J = r./sum(r.*x);
L = q./sum(q.*x);
tau = exp(-a/T);
s = (G'*tau)';
n=s*x;
for i=1:nc
lnYr1(i,1) = q(i).*(1-log(L(i)))-sum(theta.*s(:,i)./n-
G(:,i).*log(s(:,i)./n));
end
for i=1:nc
lnYc1(i,1) = 1-J(i)+log(J(i))-5*q(i)*(1-J(i)./L(i)
+log(J(i)./L(i)));
end
for i=1:nc
lny(i)=lnYr1(i,1)+lnYc1(i,1);
end
[LN(Combinatorio)] = lnYc1
[LN(Residual)] = lnYr1
[Gamma]= exp(lny')
Luego con la ayuda del programa que hemos creado (UNIFAC) nos permitir
encontrar el valor de los coeficientes de actividad de los tres componentes de la
mezcla ternaria.
Para este caso, sea la mezcla ternaria para la cual hallaremos el valor del coeficiente de
actividad por medio del modelo UNIFAC:
Sustancia Estructura
1 Acido actico CH3COOH
2 Tolueno AR-CH3
3 Dietil cetona (C2H5)2CO
( )
0.235
x= 0.433
0.322
1 CH2CO
Luego el parmetro Ri y Qi
0.9011
()
0.6744
1.4457
Ri=
1.242
0.5313
1.2663
0.848
()
0.54
1.18
Qi=
1.188
0.4
0.968
( )
1 0 2
0 0 1
Vi= 1 0 1
0 0 0
0 5 0
0 1 0
( )
0 0
476.4 507 61.13 76.5
0 0
476.4 507 61.13 76.5
( )(
ln ( 1)C
)
0.0096
C
ln ( 2) = 0.537
ln ( 3)
C 0.0160
Parte residual
( )(
ln ( 1)R 0.2460
ln ( 2)
ln ( 3)
R
R
= 0.0169
0.1016 )
Una vez obtenido esto sabemos que el LnY es:
ln ( i )=ln ( i )C + ln ( i) R
Entonces
( )( )
ln ( 1) 0.2364
ln ( 2) = 0.0716
ln ( 3) 0.0856
Por ltimo se tendr que los coeficientes de actividad para cada componente de la
mezcla ternaria son:
i=exp ( ln ( 1 ) )
()( )
1 1.2667
2 = 1.0742
3 0.9180