Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo Final Termo2 Grupo Ocho
Trabajo Final Termo2 Grupo Ocho
“TRABAJO FINAL”
CURSO: TERMODINÁMICA II
INTEGRANTES:
2023
Metanol(1)/Benceno(2) MODELO WILSON
v=[74.05 40.73]
a=[-161.88 583.11]
lambda=[v(2)/v(1)*exp(-a(1)/(R*T)) v(1)/v(2)*exp(-a(2)/(R*T))]
Cálculo de las presiones de saturación
Psat=exp(A-B./(t+C)) %KPa
n=10
x1=0:0.1:1
x2=1-x1;
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
P_sat1=x1.*Ganma1.*(Psat(1))
P_sat2=x2.*Ganma2.*(Psat(2))
P_Burbuja=P_sat1+P_sat2
Composición de Burbuja
y1=x1.*Ganma1.*Psat(1)./P_Burbuja
Graficamos
plot(x1,P_Burbuja,y1,P_Burbuja)
grid on
xlabel("x1-y1")
ylabel("Presión")
legend("Punto de Burbuja","Punto de Rocío")
title("Presión (KPa)")
b) Punto de Rocío
Metanol(1)/benceno(2), modelo Wilson, Dado t=70°C y {yi};
determine la presión y composición de rocío
y1=0.3
y2=1-y1
t=70 % °C
T=t+273.15 %°K
R=1.987 %Cal/mol-k
A=[16.5785 13.7819]
B=[3638.27 2726.81]
C=[239.500 217.572]
Psat=exp(A-B./(t+C)) %KPa
Parámetros de wilson
V=[40.73 89.41]
a=[1734.42 183.04]
lambda=[V(2)/V(1)*exp(-a(1)/(R*T)) V(1)/V(2)*exp(-a(2)/(R*T))]
Cálculo de valores iniciales
Ganma1=1
Ganma2=1
P=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2)))
x1=y1*P/(Ganma1*Psat(1))
x2=y2*P/(Ganma2*Psat(2))
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Calculamos la presión de rocío
P1=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2))) %°KPa
x1=y1*P1/(Ganma1*Psat(1))
x2=y2*P1/(Ganma2*Psat(2))
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
P2=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2)))
x1=y1*P2/(Ganma1*Psat(1))
x2=y2*P2/(Ganma2*Psat(2))
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
P3=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2)))
x1=y1*P3/(Ganma1*Psat(1))
x2=y2*P3/(Ganma2*Psat(2))
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
P4=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2)))
x1=y1*P4/(Ganma1*Psat(1))
x2=y2*P4/(Ganma2*Psat(2))
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
P5=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2)))
x1=y1*P5/(Ganma1*Psat(1))
x2=y2*P5/(Ganma2*Psat(2))
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
P6=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2)))
x1=y1*P6/(Ganma1*Psat(1))
x2=y2*P6/(Ganma2*Psat(2))
Ganma1=exp(-
log(x1+lambda(1).*x2)+x2.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Ganma2=exp(-log(x2+lambda(2).*x1)-
x1.*(lambda(1)./(x1+lambda(1).*x2)-
lambda(2)./(x2+lambda(2).*x1)))
Porc_error=(P5-P6)/P5*100
P_rocio=1/(y1/(Ganma1*Psat(1))+y2/(Ganma2*Psat(2)))
t=sum_xi_Tsati %°C
T=t+273.15 %°K
lambda12=v(2)/v(1)*exp(-a(1)/(R*T))
lambda21=v(1)/v(2)*exp(-a(2)/(R*T))
Ganma1=exp(-log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)-
lambda21/(x2+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))-(lambda21/(x2+lambda21.*x1))))
Psat1=P/(x1*Ganma1*Psati(1)/Psati(1)+x2*Ganma2*Psati(2)/Psati(
1))
Psat2=P/(x1*Ganma1*Psati(1)/Psati(2)+x2*Ganma2*Psati(2)/Psati(
2))
t=(B(2)/(A(2)-log(Psat2)))-C(2)
T=t+273.15 %°K
lambda12=v(2)/v(1)*exp(-a(1)/(R*T))
lambda21=v(1)/v(2)*exp(-a(2)/(R*T))
Ganma1=exp(-log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)-
lambda21/(x2+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))-(lambda21/(x2+lambda21.*x1))))
Psat1=P/(x1*Ganma1*Psati(1)/Psati(1)+x2*Ganma2*Psati(2)/Psati(
1))
Psat2=P/(x1*Ganma1*Psati(1)/Psati(2)+x2*Ganma2*Psati(2)/Psati(
2))
t=(B(2)/(A(2)-log(Psat2)))-C(2)
t=(B(2)/(A(2)-log(Psat2)))-C(2)
T=t+273.15 %°K
lambda12=v(2)/v(1)*exp(-a(1)/(R*T))
lambda21=v(1)/v(2)*exp(-a(2)/(R*T))
Ganma1=exp(-log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)-
lambda21/(x2+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))-(lambda21/(x2+lambda21.*x1))))
Psat1=P/(x1*Ganma1*Psati(1)/Psati(1)+x2*Ganma2*Psati(2)/Psati(
1))
Psat2=P/(x1*Ganma1*Psati(1)/Psati(2)+x2*Ganma2*Psati(2)/Psati(
2))
t=(B(2)/(A(2)-log(Psat2)))-C(2)
t=(B(2)/(A(2)-log(Psat2)))-C(2)
T=t+273 %°K
lambda12=v(2)/v(1)*exp(-a(1)/(R*T))
lambda21=v(1)/v(2)*exp(-a(2)/(R*T))
Ganma1=exp(-log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)-
lambda21/(x2+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))-(lambda21/(x2+lambda21.*x1))))
Psat1=P/(x1*Ganma1*Psati(1)/Psati(1)+x2*Ganma2*Psati(2)/Psati(
1))
Psat2=P/(x1*Ganma1*Psati(1)/Psati(2)+x2*Ganma2*Psati(2)/Psati(
2))
t=(B(2)/(A(2)-log(Psat2)))-C(2)
t=(B(2)/(A(2)-log(Psat2)))-C(2)
T=t+273 %°K
lambda12=v(2)/v(1)*exp(-a(1)/(R*T))
lambda21=v(1)/v(2)*exp(-a(2)/(R*T))
Ganma1=exp(-log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)-
lambda21/(x2+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))-(lambda21/(x2+lambda21.*x1))))
Psat1=P/(x1*Ganma1*Psati(1)/Psati(1)+x2*Ganma2*Psati(2)/Psati(
1))
Psat2=P/(x1*Ganma1*Psati(1)/Psati(2)+x2*Ganma2*Psati(2)/Psati(
2))
t=(B(2)/(A(2)-log(Psat2)))-C(2)
t=(B(2)/(A(2)-log(Psat2)))-C(2)
T=t+273 %°K
lambda12=v(2)/v(1)*exp(-a(1)/(R*T))
lambda21=v(1)/v(2)*exp(-a(2)/(R*T))
Ganma1=exp(-log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)-
lambda21/(x2+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))-(lambda21/(x2+lambda21.*x1))))
Psat1=P/(x1*Ganma1*Psati(1)/Psati(1)+x2*Ganma2*Psati(2)/Psati(
1))
Psat2=P/(x1*Ganma1*Psati(1)/Psati(2)+x2*Ganma2*Psati(2)/Psati(
2))
t=(B(2)/(A(2)-log(Psat2)))-C(2)
t=(B(2)/(A(2)-log(Psat2)))-C(2)
T=t+273 %°K
lambda12=v(2)/v(1)*exp(-a(1)/(R*T))
lambda21=v(1)/v(2)*exp(-a(2)/(R*T))
Ganma1=exp(-log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)-
lambda21/(x2+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))-(lambda21/(x2+lambda21.*x1))))
Psat1=P/(x1*Ganma1*Psati(1)/Psati(1)+x2*Ganma2*Psati(2)/Psati(
1))
Psat2=P/(x1*Ganma1*Psati(1)/Psati(2)+x2*Ganma2*Psati(2)/Psati(
2))
t=(B(2)/(A(2)-log(Psat2)))-C(2)
T_Burbuja=t
Composición de Burbuja
x1=0.4
x2=1-x1
y1=x1*Ganma1*Psat1/P
y2=x2*Ganma2*Psat2/P
sum_y=y1+y2
Valores Iniciales
Psati=exp(A-B./(t+C))
k=Psati./P
v=0.01
lambda12=V(2)/V(1)*exp(-a(1)/(R*T))
lambda21=V(1)/V(2)*exp(-a(2)/(R*T))
Ganma1=exp(-
log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)+lambda21/(x2
+lambda21*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))+(lambda21/(x2+lambda21*x1))))
k1=(Ganma1*Psati(1))/P
k2=(Ganma2*Psati(2))/P
v=0.7
f_obj=x1*k1/(1+v*(k1-1))+(x2*k2)/(1+v*(k2-1))-1
v=fzero(@(v)[x1*k1/(1+v*(k1-1))+(x2*k2)/(1+v*(k2-1))-1],v)
y1=x1*k1/(1+v*(k1-1))
y2=x2*k2/(1+v*(k2-1))
x1=y1/k1
x2=y2/k2
Ganma1=exp(-
log(x1+lambda12*x2)+x2*(lambda12/(x1+lambda12*x2)+lambda21/(x2
+lambda21.*x1)))
Ganma2=exp(-log(x2+lambda21*x1)-
x1*((lambda12/(x1+lambda12*x2))+(lambda21/(x2+lambda21.*x1))))
k1=(Ganma1*Psati(1))/P
k2=(Ganma2*Psati(2))/P
v=0.4
f_obj=x1*k1/(1+v*(k1-1))+(x2*k2)/(1+v*(k2-1))-1
v=fzero(@(v)[x1*k1/(1+v*(k1-1))+(x2*k2)/(1+v*(k2-1))-1],v)
y1=x1*k1/(1+v*(k1-1))
y2=x2*k2/(1+v*(k2-1))
x1=y1/k1
x2=y2/k2
Metanol(1)/benceno(2), modelo Wilson, determinar si existe
azeótropo, y si existe; calcule la composición y la presión de
azeótropo para la temperatura de 70°C
Parámetros de Wilson
A=[16.5785 13.7819]
B=[3638.27 2726.81]
C=[239.500 217.572]
V=[40.73 89.41]
a=[1734.42 183.04]
R=1.987
t=70 %°C
T=t+273.15 % °K
lambda12=V(2)/V(1)*exp(-a(1)/(R*T))
lambda21=V(1)/V(2)*exp(-a(2)/(R*T))
Psati=exp(A-B./(t+C))
function UNIFAC(p,T,x1)
close
z=1;
k=1;
p=101.33; %KPa
T=343.15; %K
x1=1;
R1=0.9011;R2=0.513;R3=1.000;
Q1=0.848;Q2=0.400;Q3=1.200;
v11=1;v21=0;v31=1;v12=0;v22=6;v32=0;
a11=0;a21=-11.12;a31=156.4;
a12=61.13;a22=0;a32=89.6;
a13=986.5;a23=636.1;a33=0;
g11=v11*Q1;g21=v21*Q2;g31=v31*Q3;
g12=v12*Q1;g22=v22*Q2;g32=v32*Q3;
q1=g11+g21+g31;
q2=g12+g22+g32;
r1=v11*R1+v21*R2+v31*R3;
r2=v12*R1+v22*R2+v32*R3;
%Constantes de Antoine
%datos 1
a1=16.5785;
b1=3638.27;
c1=239.50;
%datos2
a2=13.7819;
b2=2726.8100;
c2=217.5720;
while x1>=0
x2=1-x1;
teta1=g11*x1+g12*x2;teta2=g21*x1+g22*x2;teta3=g31*x1+g32*x2;
J1=r1/(r1*x1+r2*x2);
J2=r2/(r1*x1+r2*x2);
L1=q1/(q1*x1+q2*x2);
L2=q2/(q1*x1+q2*x2);
tau11=exp(-a11/T);tau21=exp(-a21/T);tau31=exp(-a31/T);
tau12=exp(-a12/T);tau22=exp(-a22/T);tau32=exp(-a32/T);
tau13=exp(-a13/T);tau23=exp(-a23/T);tau33=exp(-a33/T);
s11=g11*tau11+g21*tau21+g31*tau31;s21=g11*tau12+g21*tau22+g31*
tau32;s31=g11*tau13+g21*tau23+g31*tau33;
s12=g12*tau11+g22*tau21+g32*tau31;s22=g12*tau12+g22*tau22+g32*
tau32;s32=g12*tau13+g22*tau23+g32*tau33;
n1=s11*x1+s12*x2;n2=s21*x1+s22*x2;n3=s31*x1+s32*x2;
Ganma1=exp(q1*(1-log(L1))-
((teta1*(s11/n1)+teta2*(s21/n2)+teta3*(s31/n3))-
(g11*log(s11/n1)+g21*log(s21/n2)+g31*log(s31/n3))))*exp(1-
J1+log(J1)-5*q1*(1-(J1/L1)+log(J1/L1)));
Ganma2=exp(q2*(1-log(L2))-
((teta1*(s12/n1)+teta2*(s22/n2)+teta3*(s32/n3))-
(g12*log(s12/n1)+g22*log(s22/n2)+g32*log(s32/n3))))*exp(1-
J2+log(J2)-5*q2*(1-(J2/L2)+log(J2/L2)));
p1=exp(a1-(b1/(T-c1)));
p2=exp(a2-(b2/(T-c2)));
y1=((x1*(p1*Ganma1))/(((x1*(p1*Ganma1))+(x2*(p2*Ganma2)))));
Pest=((y1*p)/(x1*Ganma1));
z=abs(Pest-p1);
T=(b1/(a1-log(Pest)))+c1;
if z <=0.1
VT(k)=T;
Vx1(k)=x1;
Vy1(k)=y1;
k=k+1;
T=T+1.0;
x1=x1-0.001;
end
end
plot(Vx1,VT,'r',Vy1,VT,'b')
grid
title('T-x-y: SISTEMA METANOL/BENCENO Modelo UNIFAC')
xlabel('X1-Y1')
ylabel('TEMPERATURA [K]')
figure
plot(Vx1,Vy1,'r')
title('curvas de x1 vs y1')
grid
hold on
x=linspace(0,1,100);
y=x;
plot(x,y)
xlabel('X1-Y1')
ylabel('Y1')
TEMPERATURA CONSTANTE:
function unifac_2component_Tconst (T, A1, B1, C1, A2, B2, C2,
ri, Gki, amk, k)
% Esta función calcula las temperaturas en fase líquida y
vapor para un sistema binario con el modelo de UNIFAC
% Rondan López Elian Piero
% Las entradas son la presión (kPa), la constante de los gases
(Cal/mol-K),
% Los coeficientes de Antoine para ambos componentes (A1, B1,
C1 y A2, B2, C2),
% Las unidades del modelo de Antoine (kPa y °C) cuyos
parámetros son A, B y C.
% Los parámetros de UNIFAC necesarios son:
% ri: el vector fila de las sumatorias de vk(i)*Rk
% Gki: la matriz de vk(i)*Qk
% amk: la matriz de los parámetros de interacción
% k: cantidad de grupos funcionales
% a las unidades del modelo de Antoine (kPa y °C) cuyos
parámetros son A, B y C para cada componente.
gammaC1 =exp(1-J1+log(J1)-5*qi(1,1)*(1-(J1./L1)+log(J1./L1)));
gammaC2 =exp(1-J2+log(J2)-5*qi(1,2)*(1-(J2./L2)+log(J2./L2)));
tau=exp(-amk/T);
sk1=Gki(1,1).*tau(1,:)+Gki(2,1).*tau(2,:)+Gki(3,1).*tau(3,:)+G
ki(4,1).*tau(4,:);
sk2=Gki(1,2).*tau(1,:)+Gki(2,2).*tau(2,:)+Gki(3,2).*tau(3,:)+G
ki(4,2).*tau(4,:);
for i=1:k
nk(i,:)=sk1(:,i).*x+sk2(:,i).*(1-x);
teta(i,:)=Gki(i,1).*x+Gki(i,2).*(1-x);
end
for i=1:k
TSNGS1(i,:)=(teta(i,:).*(sk1(1,i)./nk(i,:))-
Gki(i,:).*log(sk1(1,i)./nk(i,:)));
TSNGS2(i,:)=(teta(i,:).*(sk2(1,i)./nk(i,:))-
Gki(i,:).*log(sk2(1,i)./nk(i,:)));
end
SumaR1=sum(TSNGS1);
SumaR2=sum(TSNGS2);
gammaR1=exp(qi(1).*(1-logL1)-SumaR1);
gammaR2=exp(qi(2).*(1-logL2)-SumaR2);
gamma1=gammaC1+gammaR1;
gamma2=gammaC2+gammaR2;