Está en la página 1de 5

//Metanol y agua. Equilibrio entre lquido y vapor.

clear; clc;
//Funciones.
function y=Antoine(a,b,c,t)
y=10^(a-b*(t+c).^-1);
endfunction
function y=VanLaar(a,b,x)
y=exp(a*(1+a*x.*(b*(1-x)).^-1).^-2);
endfunction
function y=Balance(p,t,x,a,b,c,d,e,f,g,h)
y=x.*VanLaar(a,b,x).*Antoine(c,d,e,t)/p+(1-x).*VanLaar(b,a,1-x).*Antoine(f,g
,h,t)/p-1;
endfunction
function y=Derivada(p,t,x,a,b,c,d,e,f,g,h)
delta=1e-7;
y=(Balance(p,t+delta,x,a,b,c,d,e,f,g,h)-Balance(p,t,x,a,b,c,d,e,f,g,h))/delt
a;
endfunction
function y=IBalance(p,t,x,a,b,c,d,e,f,g,h)
while 1e-12<abs(Balance(p,t,x,a,b,c,d,e,f,g,h))
t=t-Balance(p,t,x,a,b,c,d,e,f,g,h).*Derivada(p,t,x,a,b,c,d,e,f,g,h).^-1;
end
y=t;
endfunction
function y=Ajuste(a,b,c,d,e,f,g,h,i,j,x)
y=a*x.^9+b*x.^8+c*x.^7+d*x.^6+e*x.^5+f*x.^4+g*x.^3+h*x.^2+i*x+j;
endfunction
function y=DerivadaII(a,b,c,d,e,f,g,h,i,j,x)
delta=1e-7
y=(Ajuste(a,b,c,d,e,f,g,h,i,j,x+delta)-Ajuste(a,b,c,d,e,f,g,h,i,j,x))/delta;
endfunction
function y=IAjuste(a,b,c,d,e,f,g,h,i,j,x,z)
while 1e-12<abs(Ajuste(a,b,c,d,e,f,g,h,i,j,x)-z)
x=x-(Ajuste(a,b,c,d,e,f,g,h,i,j,x)-z).*DerivadaII(a,b,c,d,e,f,g,h,i,j,x)
.^-1;
end
y=x;
endfunction
//0. Datos.
//Press=1;//Presin de operacin.
//CH4O=[0.9014 5.20277 1580.08 239.5];//Constantes del metanol. A12, A1, B1, C1.
//H2O=[0.5559 5.11564 1687.537 230.17];//Constantes del agua. A21, A2, B2, C2.
//Press=1.01325;//Presin de operacin.
//CH4O=[0.9014 5.20587302 1582.27 239.7];//Constantes del metanol. A12, A1, B1,
C1.
//H2O=[0.5559 5.19621302 1730.63 233.426];//Constantes del agua. A21, A2, B2, C2
.
Press=2;//Presin de operacin.

CH4O=[1e-14 4.00139 1170.875 224.317];//Constantes del hexano. A12, A1, B1, C1.
H2O=[1e-14 4.02023 1263.909 216.432];//Constantes del heptano. A21, A2, B2, C2.
//Press=2;//Presin de operacin.
//CH4O=[1e-14 3.97786 1064.840 232.014];//Constantes del pentano. A12, A1, B1, C
1.
//H2O=[1e-14 4.00139 1170.875 224.317];//Constantes del hexano. A21, A2, B2, C2.
//Press=1.01325;//Presin de operacin.
//CH4O=[1.7059 5.33675 1648.220 230.918];//Constantes del etanol. A12, A1, B1, C
1.
//H2O=[0.8848 5.11564 1687.537 230.17];//Constantes del agua. A21, A2, B2, C2.
tops=[0.00001 0.99999 1000]';//Cantidades delimitantes.
Comp(:,1)=[tops(1):(tops(2)-tops(1))/tops(3):tops(2)]';//Composiciones del metan
ol en fase lquida.
//1a. Clculos.
Temp(1)=123.39699;//Empleando IBalance a la composicin 0.0001.
for i=1:length(Comp(:,1))-1
z=Temp(i);
Temp(i+1)=IBalance(Press,z,Comp(i+1,1),CH4O(1),H2O(1),CH4O(2),CH4O(3),CH4O(4
),H2O(2),H2O(3),H2O(4));//Temperatura de burbuja.
end
Comp(:,2)=Comp(:,1).*VanLaar(CH4O(1),H2O(1),Comp(:,1)).*Antoine(CH4O(2),CH4O(3),
CH4O(4),Temp)/Press;//Composiciones del metanol en fase gaseosa.
Comp2=1-Comp;//Composiciones del agua.
//1b. Diagramas.
//plot(Comp(:,1),Temp);//Temperatura-Composicin.
//plot(Comp(:,2),Temp,'red');
//plot(Comp(:,1),Comp(:,2));//Composiciones.
//plot(Comp(:,1),Comp(:,1),'red');
//plot(Temp,Comp(:,2).*Comp(:,1).^-1);//Constantes de biparticin.
//plot(Temp,Comp2(:,2).*Comp2(:,1).^-1,'red');
//plot(Comp(:,1),(Comp(:,2).*Comp(:,1).^-1).*(Comp2(:,2).*Comp2(:,1).^-1).^-1);/
/Volatilidad relativa - Composicin.
//plot(Comp(:,1),Comp(:,2)-Comp(:,1));//y-x, x.
//2. Ajustes.
fracc=1//De composiciones.
for i=1:fracc
top1=(i-1)*tops(3)/fracc+1;
top2=i*tops(3)/fracc+1;
A=[sum(Comp(top1:top2,1).^18) sum(Comp(top1:top2,1).^17) sum(Comp(top1:top2,
1).^16) sum(Comp(top1:top2,1).^15) sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2
,1).^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top
2,1).^10) sum(Comp(top1:top2,1).^9);
sum(Comp(top1:top2,1).^17) sum(Comp(top1:top2,1).^16) sum(Comp(top1:top2,1).
^15) sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1)

.^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1


).^9) sum(Comp(top1:top2,1).^8);
sum(Comp(top1:top2,1).^16) sum(Comp(top1:top2,1).^15) sum(Comp(top1:top2,1).
^14) sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1)
.^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1)
.^8) sum(Comp(top1:top2,1).^7);
sum(Comp(top1:top2,1).^15) sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2,1).
^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1)
.^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).
^7) sum(Comp(top1:top2,1).^6);
sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1).
^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1)
.^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^
6) sum(Comp(top1:top2,1).^5);
sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).
^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).
^8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5
) sum(Comp(top1:top2,1).^4);
sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).
^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^
7) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5) sum(Comp(top1:top2,1).^4)
sum(Comp(top1:top2,1).^3);
sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).
^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^6
) sum(Comp(top1:top2,1).^5) sum(Comp(top1:top2,1).^4) sum(Comp(top1:top2,1).^3)
sum(Comp(top1:top2,1).^2);
sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^
8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5)
sum(Comp(top1:top2,1).^4) sum(Comp(top1:top2,1).^3) sum(Comp(top1:top2,1).^2) s
um(Comp(top1:top2,1));
sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^7
) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5) sum(Comp(top1:top2,1).^4)
sum(Comp(top1:top2,1).^3) sum(Comp(top1:top2,1).^2) sum(Comp(top1:top2,1)) lengt
h(Comp(top1:top2,1))];
b=[sum(Comp(top1:top2,2).*Comp(top1:top2,1).^9) sum(Comp(top1:top2,2).*Comp(
top1:top2,1).^8) sum(Comp(top1:top2,2).*Comp(top1:top2,1).^7) sum(Comp(top1:top2
,2).*Comp(top1:top2,1).^6) sum(Comp(top1:top2,2).*Comp(top1:top2,1).^5) sum(Comp
(top1:top2,2).*Comp(top1:top2,1).^4) sum(Comp(top1:top2,2).*Comp(top1:top2,1).^3
) sum(Comp(top1:top2,2).*Comp(top1:top2,1).^2) sum(Comp(top1:top2,2).*Comp(top1:
top2,1)) sum(Comp(top1:top2,2))]';
d(:,i)=A\b;
M(:,1)=[0:0.0001:1];
M(:,2)=Ajuste(d(1,i),d(2,i),d(3,i),d(4,i),d(5,i),d(6,i),d(7,i),d(8,i),d(9,i)
,d(10,i),M(:,1));
//
//
end

plot(M(:,1),M(:,2),'red');
plot(Comp(top1:top2,1),Comp(top1:top2,2),'blue');

fracc=1//De temperatura de burbuja y composicin.


for i=1:fracc
top1=(i-1)*tops(3)/fracc+1;
top2=i*tops(3)/fracc+1;
A=[sum(Comp(top1:top2,1).^18) sum(Comp(top1:top2,1).^17) sum(Comp(top1:top2,
1).^16) sum(Comp(top1:top2,1).^15) sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2

,1).^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top


2,1).^10) sum(Comp(top1:top2,1).^9);
sum(Comp(top1:top2,1).^17) sum(Comp(top1:top2,1).^16) sum(Comp(top1:top2,1).
^15) sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1)
.^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1
).^9) sum(Comp(top1:top2,1).^8);
sum(Comp(top1:top2,1).^16) sum(Comp(top1:top2,1).^15) sum(Comp(top1:top2,1).
^14) sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1)
.^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1)
.^8) sum(Comp(top1:top2,1).^7);
sum(Comp(top1:top2,1).^15) sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2,1).
^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1)
.^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).
^7) sum(Comp(top1:top2,1).^6);
sum(Comp(top1:top2,1).^14) sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1).
^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1)
.^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^
6) sum(Comp(top1:top2,1).^5);
sum(Comp(top1:top2,1).^13) sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).
^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).
^8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5
) sum(Comp(top1:top2,1).^4);
sum(Comp(top1:top2,1).^12) sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).
^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^
7) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5) sum(Comp(top1:top2,1).^4)
sum(Comp(top1:top2,1).^3);
sum(Comp(top1:top2,1).^11) sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).
^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^6
) sum(Comp(top1:top2,1).^5) sum(Comp(top1:top2,1).^4) sum(Comp(top1:top2,1).^3)
sum(Comp(top1:top2,1).^2);
sum(Comp(top1:top2,1).^10) sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^
8) sum(Comp(top1:top2,1).^7) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5)
sum(Comp(top1:top2,1).^4) sum(Comp(top1:top2,1).^3) sum(Comp(top1:top2,1).^2) s
um(Comp(top1:top2,1));
sum(Comp(top1:top2,1).^9) sum(Comp(top1:top2,1).^8) sum(Comp(top1:top2,1).^7
) sum(Comp(top1:top2,1).^6) sum(Comp(top1:top2,1).^5) sum(Comp(top1:top2,1).^4)
sum(Comp(top1:top2,1).^3) sum(Comp(top1:top2,1).^2) sum(Comp(top1:top2,1)) lengt
h(Comp(top1:top2,1))];
b=[sum(Temp(top1:top2).*Comp(top1:top2,1).^9) sum(Temp(top1:top2).*Comp(top1
:top2,1).^8) sum(Temp(top1:top2).*Comp(top1:top2,1).^7) sum(Temp(top1:top2).*Com
p(top1:top2,1).^6) sum(Temp(top1:top2).*Comp(top1:top2,1).^5) sum(Temp(top1:top2
).*Comp(top1:top2,1).^4) sum(Temp(top1:top2).*Comp(top1:top2,1).^3) sum(Temp(top
1:top2).*Comp(top1:top2,1).^2) sum(Temp(top1:top2).*Comp(top1:top2,1)) sum(Temp(
top1:top2))]';
e(:,i)=A\b;
N(:,1)=[0:0.0001:1];
N(:,2)=Ajuste(e(1,i),e(2,i),e(3,i),e(4,i),e(5,i),e(6,i),e(7,i),e(8,i),e(9,i)
,e(10,i),N(:,1));
//
//
end

plot(N(:,1),N(:,2),'red');
plot(Comp(top1:top2,1),Temp(top1:top2),'blue');

fracc=1//De temperatura de roco y composicin.


for i=1:fracc
top1=(i-1)*tops(3)/fracc+1;
top2=i*tops(3)/fracc-1;

A=[sum(Comp(top1:top2,2).^18) sum(Comp(top1:top2,2).^17) sum(Comp(top1:top2,2).^


16) sum(Comp(top1:top2,2).^15) sum(Comp(top1:top2,2).^14) sum(Comp(top1:top2,2).
^13) sum(Comp(top1:top2,2).^12) sum(Comp(top1:top2,2).^11) sum(Comp(top1:top2,2)
.^10) sum(Comp(top1:top2,2).^9);
sum(Comp(top1:top2,2).^17) sum(Comp(top1:top2,2).^16) sum(Comp(top1:top2,2).
^15) sum(Comp(top1:top2,2).^14) sum(Comp(top1:top2,2).^13) sum(Comp(top1:top2,2)
.^12) sum(Comp(top1:top2,2).^11) sum(Comp(top1:top2,2).^10) sum(Comp(top1:top2,2
).^9) sum(Comp(top1:top2,2).^8);
sum(Comp(top1:top2,2).^16) sum(Comp(top1:top2,2).^15) sum(Comp(top1:top2,2).
^14) sum(Comp(top1:top2,2).^13) sum(Comp(top1:top2,2).^12) sum(Comp(top1:top2,2)
.^11) sum(Comp(top1:top2,2).^10) sum(Comp(top1:top2,2).^9) sum(Comp(top1:top2,2)
.^8) sum(Comp(top1:top2,2).^7);
sum(Comp(top1:top2,2).^15) sum(Comp(top1:top2,2).^14) sum(Comp(top1:top2,2).
^13) sum(Comp(top1:top2,2).^12) sum(Comp(top1:top2,2).^11) sum(Comp(top1:top2,2)
.^10) sum(Comp(top1:top2,2).^9) sum(Comp(top1:top2,2).^8) sum(Comp(top1:top2,2).
^7) sum(Comp(top1:top2,2).^6);
sum(Comp(top1:top2,2).^14) sum(Comp(top1:top2,2).^13) sum(Comp(top1:top2,2).
^12) sum(Comp(top1:top2,2).^11) sum(Comp(top1:top2,2).^10) sum(Comp(top1:top2,2)
.^9) sum(Comp(top1:top2,2).^8) sum(Comp(top1:top2,2).^7) sum(Comp(top1:top2,2).^
6) sum(Comp(top1:top2,2).^5);
sum(Comp(top1:top2,2).^13) sum(Comp(top1:top2,2).^12) sum(Comp(top1:top2,2).
^11) sum(Comp(top1:top2,2).^10) sum(Comp(top1:top2,2).^9) sum(Comp(top1:top2,2).
^8) sum(Comp(top1:top2,2).^7) sum(Comp(top1:top2,2).^6) sum(Comp(top1:top2,2).^5
) sum(Comp(top1:top2,2).^4);
sum(Comp(top1:top2,2).^12) sum(Comp(top1:top2,2).^11) sum(Comp(top1:top2,2).
^10) sum(Comp(top1:top2,2).^9) sum(Comp(top1:top2,2).^8) sum(Comp(top1:top2,2).^
7) sum(Comp(top1:top2,2).^6) sum(Comp(top1:top2,2).^5) sum(Comp(top1:top2,2).^4)
sum(Comp(top1:top2,2).^3);
sum(Comp(top1:top2,2).^11) sum(Comp(top1:top2,2).^10) sum(Comp(top1:top2,2).
^9) sum(Comp(top1:top2,2).^8) sum(Comp(top1:top2,2).^7) sum(Comp(top1:top2,2).^6
) sum(Comp(top1:top2,2).^5) sum(Comp(top1:top2,2).^4) sum(Comp(top1:top2,2).^3)
sum(Comp(top1:top2,2).^2);
sum(Comp(top1:top2,2).^10) sum(Comp(top1:top2,2).^9) sum(Comp(top1:top2,2).^
8) sum(Comp(top1:top2,2).^7) sum(Comp(top1:top2,2).^6) sum(Comp(top1:top2,2).^5)
sum(Comp(top1:top2,2).^4) sum(Comp(top1:top2,2).^3) sum(Comp(top1:top2,2).^2) s
um(Comp(top1:top2,2));
sum(Comp(top1:top2,2).^9) sum(Comp(top1:top2,2).^8) sum(Comp(top1:top2,2).^7
) sum(Comp(top1:top2,2).^6) sum(Comp(top1:top2,2).^5) sum(Comp(top1:top2,2).^4)
sum(Comp(top1:top2,2).^3) sum(Comp(top1:top2,2).^2) sum(Comp(top1:top2,2)) lengt
h(Comp(top1:top2,2))];
b=[sum(Temp(top1:top2).*Comp(top1:top2,2).^9) sum(Temp(top1:top2).*Comp(top1
:top2,2).^8) sum(Temp(top1:top2).*Comp(top1:top2,2).^7) sum(Temp(top1:top2).*Com
p(top1:top2,2).^6) sum(Temp(top1:top2).*Comp(top1:top2,2).^5) sum(Temp(top1:top2
).*Comp(top1:top2,2).^4) sum(Temp(top1:top2).*Comp(top1:top2,2).^3) sum(Temp(top
1:top2).*Comp(top1:top2,2).^2) sum(Temp(top1:top2).*Comp(top1:top2,2)) sum(Temp(
top1:top2))]';
f(:,i)=A\b;
P(:,1)=[0:0.0001:1];
P(:,2)=Ajuste(f(1,i),f(2,i),f(3,i),f(4,i),f(5,i),f(6,i),f(7,i),f(8,i),f(9,i)
,f(10,i),P(:,1));
//
//
end

plot(P(:,1),P(:,2),'red');
plot(Comp(top1:top2,2),Temp(top1:top2),'blue');

También podría gustarte