Está en la página 1de 10

Proyecto N°2 - Termodinámica del Equilibrio

Nombre: Manuel Abasto Prado

Fecha: 23/3/2021

• Enunciado:

Utilizando la Ecuación de Estado de Peng-Robinson (PR) derive funciones computacionales orientadas al


calculo de los coeficientes de fugacidad de especies puras para la región de TR>1. Aplique las funciones a la
determinación del coeficiente de fugacidad del dióxido de carbono para el dominio de presión reducida 0<= Pr
<= 8 para las siguientes isotermas:

Tr=[1.05 1.1 1.2 1.5 1.8 2 5]';

Grafique los resultados y comente.

Para las isotermas de 1.05, 1.1 y 2, calcule los coeficientes para el dióxido de carbono utilizando la Ecuación
de Lee-Kessler (Pr=0:0.5:5), grafique conjuntamente con los resultados de PR y comente. Determine también
los errores absolutos y relativos en los rangos anotados e interprete los resultados. Compare también los datos
del Problema 10.16 del texto con los que se determinan a través de la Ecuación PR, y comente.

• Datos:

Obteniendo los datos de la presión crítica y la temperatura crítica del dióxido de carbono del apéndice B del
libro de Smith:

Tc=304.2; Pc=73.83; w=0.224;

Para las presiones reducidas se realizará un vector de una presión reducida muy cercana a 0 hasta una
presión reducida de 8 con intérvalos de 0.1

Pr=0.0000001:0.1:8;

• Resolución:

Para calcular la compresibilidad del gas utilizando Peng-Robinson, se calculará primero "β" y "q" con los
parámetros de Peng-Robinson obtenidos del libro de Smith en la página 98, Tabla 3.1:

Luego se aplicará a la ecuación de la compresibilidad para gases:

1
Por lo tanto:

syms Z
omega=0.07780; Psi=0.45724; sigma=1+sqrt(2); epsilon=1-sqrt(2); Pr=Pr';
comp=zeros(length(Pr),length(Tr));
for i=1:length(Tr)
comp(:,i)=penrob(Tr(i),Pr,omega,Psi,sigma,epsilon,w);
end

Una vez obtenidos los resultados de los factores de compresión para cada temperatura reducida se los
graficará en la siguiente figura:

figure(1)
plot(Pr,comp(:,1),Pr,comp(:,2),Pr,comp(:,3),Pr,comp(:,4),Pr,comp(:,5),Pr,comp(:,6),Pr,comp(:,7)
xlabel('Presión Reducida (Pr)'); ylabel('Factor de compresión (Z)'); title('Z vs. Pr - Dióxido
legend('Tr=1.05','Tr=1.1','Tr=1.2','Tr=1.5','Tr=1.8','Tr=2','Tr=5','location','best')

Para obtener los coeficientes de fugacidad se utilizarán los factores de compresibilidad obtenidos con Peng-
Robinson en la siguiente ecuación:

Por lo tanto utilizando el método de análisis numérico trapezoidal para resolver la integral se obtiene el
coeficiente de fugacidad para cada isoterma en el rango dado de presiones reducidas:

resulcoef=zeros((length(Pr)-1),length(Tr));

2
for i=1:(length(Tr))
resulcoef(:,i)=cofug(Pr,comp(:,i));
end
prc=linspace(0.000001,8,79);

Por lo tanto representando los resultados obtenidos para el coeficiente de fugacidad se tiene la siguiente
gráfica:

figure(2)
plot(prc,resulcoef(:,1),prc,resulcoef(:,2),prc,resulcoef(:,3),prc,resulcoef(:,4),prc,resulcoef(
xlabel('Presión Reducida (Pr)'); ylabel('Coeficiente de Fugacidad (\phi)'); title('\phi vs Pr -
legend('Tr=1.05','Tr=1.1','Tr=1.2','Tr=1.5','Tr=1.8','Tr=2','Tr=5','location','best');

• Comentario: De la gráfica se puede contemplar que en el rango de presiones reducidas observado se


tiene que mientras más cercana es la temperatura reducida a 1 más se desvía del compartamiento de
un gas perfecto, ya que el coeficiente de fugacidad se aleja del valor de 1. Esto concuerda con el hecho
de que el gas perfecto se encuentra a bajas presiones y altas temperaturas ya que mientras mayor sea
la temperatura o menor sea la presión en el gráfico, más perfecto será el gas.

Para Lee-Kesler se utilizaron los parámetros del coeficiente de fugacidad del libro y se realizó un ajuste
polinomial ya que los datos específicos para el rango de presión reducida requerido no se encontraban
tabulados, una vez ajustados los datos se realizó una interpolación para obtener los valores necesarios de los
parámetros de Lee-Kesler

prlk=[0.0100 0.0500 0.1000 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.5000 2.0000 3.0000 5.000
phi0tr1=[0.9977 0.9863 0.9705 0.9441 0.8872 0.8318 0.7762 0.7194 0.6607 0.5728 0.4710 0.3690 0.

3
phi0tr2=[0.9977 0.9886 0.975 0.9506 0.9016 0.8531 0.8072 0.7586 0.7112 0.6412 0.5408 0.4285 0.3
phi0tr3=[1.0000 0.9977 0.9977 0.9954 0.9886 0.9840 0.9795 0.9727 0.9683 0.9616 0.9528 0.9354 0.
phi1tr1=[1.0000 0.9977 0.9977 0.9954 0.9885 0.9863 0.9840 0.9840 0.9954 1.0186 1.0162 0.9886 0.
phi1tr2=[1.0000 1.0000 1.0000 1.0000 1.0023 1.0046 1.0093 1.0163 1.0280 1.0593 1.0990 1.1015 1.
phi1tr3=[1.0000 1.0046 1.0069 1.0163 1.0304 1.0471 1.0642 1.0815 1.0965 1.1220 1.1641 1.2503 1.
pol0tr1=polyfit(prlk,phi0tr1,3); val0tr1=polyval(pol0tr1,prlk);
pol0tr2=polyfit(prlk,phi0tr2,3); val0tr2=polyval(pol0tr2,prlk);
pol0tr3=polyfit(prlk,phi0tr3,3); val0tr3=polyval(pol0tr3,prlk);
pol1tr1=polyfit(prlk,phi1tr1,5); val1tr1=polyval(pol1tr1,prlk);
pol1tr2=polyfit(prlk,phi1tr2,5); val1tr2=polyval(pol1tr2,prlk);
pol1tr3=polyfit(prlk,phi1tr3,3); val1tr3=polyval(pol1tr3,prlk);
figure(3)
plot(prlk,phi0tr1,'or',prlk,phi0tr2,'og',prlk,phi0tr3,'ob',prlk,val0tr1,'-r',prlk,val0tr2,'-g',
xlabel('Presión reducida de tablas'); ylabel('\phi^0 (Lee Kesler)'); title('Ajuste de \phi^0 (L
legend('Tr=1.05','Tr=1.1','Tr=2','location','best');

figure(4)
plot(prlk,phi1tr1,'or',prlk,phi1tr2,'og',prlk,phi1tr3,'ob',prlk,val1tr1,'-r',prlk,val1tr2,'-g',
xlabel('Presión reducida de tablas'); ylabel('\phi^1 (Lee Kesler)'); title('Ajuste de \phi^1 (L
legend('Tr=1.05','Tr=1.1','Tr=2','location','best');

4
Como se puede observar en las gráficas los ajustes realizados a los datos de parámetros de Lee Kesler fueron
precisos y por lo tanto se procedió a la interpolación para obtener los valores:

praux=0:0.5:5;
j=1; phi0tr1r=zeros(10,1);
for i=0:0.5:5
phi0tr1r(j,1)=spline(prlk,val0tr1,i);
j=j+1;
end
j=1; phi0tr2r=zeros(10,1);
for i=0:0.5:5
phi0tr2r(j,1)=spline(prlk,val0tr2,i);
j=j+1;
end
j=1; phi0tr3r=zeros(10,1);
for i=0:0.5:5
phi0tr3r(j,1)=spline(prlk,val0tr3,i);
j=j+1;
end
j=1; phi1tr1r=zeros(10,1);
for i=0:0.5:5
phi1tr1r(j,1)=spline(prlk,val1tr1,i);
j=j+1;
end
j=1; phi1tr2r=zeros(10,1);
for i=0:0.5:5

5
phi1tr2r(j,1)=spline(prlk,val1tr2,i);
j=j+1;
end
j=1; phi1tr3r=zeros(10,1);
for i=0:0.5:5
phi1tr3r(j,1)=spline(prlk,val1tr3,i);
j=j+1;
end
j=1; penrobtr1=zeros(10,1);
for i=0:0.5:5
penrobtr1(j,1)=spline(prc,resulcoef(:,1),i);
j=j+1;
end
j=1; penrobtr2=zeros(10,1);
for i=0:0.5:5
penrobtr2(j,1)=spline(prc,resulcoef(:,2),i);
j=j+1;
end
j=1; penrobtr3=zeros(10,1);
for i=0:0.5:5
penrobtr3(j,1)=spline(prc,resulcoef(:,6),i);
j=j+1;
end
philktr1=phi0tr1r.*(phi1tr1r.^w);
philktr2=phi0tr2r.*(phi1tr2r.^w);
philktr3=phi0tr3r.*(phi1tr3r.^w);

A continuación se graficarán los resultados comparando isotermas de Lee Kesler y Peng Robinson, para
posteriormente en tablas comparar el resultado del error absoluto y el error relativo porcentual entre los valores
obtenidos de las isotermas con los distintos análisis.

figure(5)
plot(praux,philktr1,'-r',praux,penrobtr1,'-.b',praux,philktr2,'-g',praux,penrobtr2,'-.m',praux,
xlabel('Presión Reducida Pr=0:0.5:5'); ylabel('Coeficientes de Fugacidad \phi'); title('Compara
legend('LK Tr=1.05','PR Tr=1.05','LK Tr=1.1','PR Tr=1.1','LK Tr=2','PR Tr=2','location','best')

6
errptr1=(abs(penrobtr1-philktr1)./penrobtr1).*100;
errabstr1=abs(penrobtr1-philktr1);
errptr2=(abs(penrobtr2-philktr2)./penrobtr2).*100;
errabstr2=abs(penrobtr2-philktr2);
errptr3=(abs(penrobtr3-philktr3)./penrobtr3).*100;
errabstr3=abs(penrobtr3-philktr3);
T1=table(penrobtr1,philktr1,errabstr1,errptr1)

T1 = 11×4 table
penrobtr1 philktr1 errabstr1 errptr1

1 0.9677 1.0093 0.0417 4.3045


2 0.8184 0.8466 0.0281 3.4381
3 0.6792 0.7088 0.0296 4.3602
4 0.5481 0.5923 0.0442 8.0738
5 0.4588 0.4945 0.0356 7.7645
6 0.4021 0.4138 0.0117 2.9102
7 0.3635 0.3512 0.0123 3.3739
8 0.3360 0.3077 0.0283 8.4205
9 0.3158 0.2835 0.0323 10.2335
10 0.3006 0.2786 0.0220 7.3237
11 0.2890 0.2933 0.0043 1.5037

7
T1.Properties.VariableNames = {'PengRob' 'LeeKesler' 'ErrorabsTr1' 'ErrorporTr1'};
T2=table(penrobtr2,philktr2,errabstr2,errptr2)

T2 = 11×4 table
penrobtr2 philktr2 errabstr2 errptr2

1 0.9721 1.0044 0.0323 3.3226


2 0.8435 0.8734 0.0298 3.5348
3 0.7259 0.7568 0.0308 4.2492
4 0.6193 0.6559 0.0366 5.9136
5 0.5335 0.5683 0.0348 6.5230
6 0.4733 0.4913 0.0180 3.7969
7 0.4310 0.4275 0.0035 0.8070
8 0.4003 0.3798 0.0205 5.1198
9 0.3775 0.3501 0.0274 7.2523
10 0.3601 0.3399 0.0202 5.6202
11 0.3468 0.3509 0.0041 1.1723

T2.Properties.VariableNames = {'PengRob' 'LeeKesler' 'ErrorabsTr2' 'ErrorporTr2'};


T3=table(penrobtr3,philktr3,errabstr3,errptr3)

T3 = 11×4 table
penrobtr3 philktr3 errabstr3 errptr3

1 0.9982 1.0002 0.0020 0.1989


2 0.9903 0.9949 0.0046 0.4631
3 0.9837 0.9905 0.0069 0.6977
4 0.9784 0.9873 0.0089 0.9062
5 0.9743 0.9850 0.0107 1.0935
6 0.9715 0.9838 0.0123 1.2654
7 0.9697 0.9835 0.0139 1.4289
8 0.9689 0.9844 0.0154 1.5909
9 0.9692 0.9862 0.0170 1.7587
10 0.9703 0.9892 0.0188 1.9394
11 0.9724 0.9932 0.0208 2.1397

T3.Properties.VariableNames = {'PengRob' 'LeeKesler' 'ErrorabsTr3' 'ErrorporTr3'};

• Comentario: De la gráfica obtenida comparando Lee Kesler con Peng Robinson se puede observar
que a pesar de que la forma de las isotermas tiene una pendiente muy parecida, existe una diferencia
significativa ya que como se puede observar en las tablas de error absoluto y porcentual de cada

8
isoterma el error llega en algunos casos hasta el 10% por lo que utilizar distintos parámetros para el
factor de compresibilidad puede llegar a afectar el resultado.

FInalmente, para comparar los resultados del ejercicio 10.16 con los obtenidos en las isotermas de Peng
Robinson se tuvo que realizar un análisis más para la temperatura reducida del ejercicio del libro utilizando la
función ya hecha de Peng Robinson y comparar los valores obtenidos de los coeficientes de fugacidad.

z16=[1 0.9925 0.9778 0.9493 0.9222 0.8959 0.8717 0.7698 0.6977 0.6559 0.6359]';
p16=[0.001 10 20 40 60 80 100 200 300 400 500]';
pr16=p16./Pc; Trp1t0=(150+273)/(Tc);

j=1; phiej16=zeros(10,1);
for i=0:0.5:5
phiej16(j,1)=spline(pr16,z16(:,1),i);
j=j+1;
end
praux2=linspace(0.000000001,5,11);
z16tr14=penrob(Trp1t0,praux2,omega,Psi,sigma,epsilon,w);
lnphi=(z16tr14-1)./praux2;
res16=cumtrapz(praux2,lnphi);
coef16=exp(res16);
figure(6)
plot(praux,phiej16(:,1),'-',praux,coef16,'-'); grid on; xlabel('Presión Reducida (Pr)');
ylabel('Coeficientes de Fugacidad'); title('Comparación Ej. 10.16 y Peng Robinson');
legend('Ejercicio 10.16','Peng Robinson','location','best');

9
• Comentario: Como se puede observar los resultados tienen una pendiente muy parecida pero sin
embargo todavía presentan diferencias significativas por lo que se puede deducir que el ejercicio utilizó
factores de compresibilidad que se obtuvieron mediante otro análisis que no fue el de Peng-Robinson.

• Funciones Utilizadas:

function[sol]=penrob(Tr,Pr,ome,psi,sig,eps,w)
syms Z
sol=zeros(1,length(Pr));
beta=(ome.*Pr)/Tr;
a=@(w,Tr) (1+(0.37464+1.5422*w-0.26992*w.^2)*(1-Tr^(1/2)))^2;
q=(psi*a(w,Tr))/(ome*Tr);
for i=1:length(Pr)
Ec=(1+beta(i)-((q*beta(i)).*((Z-beta(i))./((Z+(eps.*beta(i))).*(Z+(sig.*beta(i)))))))-Z
solu=vpasolve(Ec==0,Z);
for j=1:3
verif=isreal(solu(j));
if verif==0
solu(j)=0;
end
end
sol(i)=max(solu);
end
end

function[phi]=cofug(Pr,Z)
aux=0; aux2=zeros(length(Pr)-1,1);
for i=1:(length(Pr)-1)
lnphi=(1/2)*(Pr(i+1)-Pr(i))*(((Z(i+1)-1)/Pr(i+1))+((Z(i)-1)/Pr(i)));
aux=aux+lnphi;
aux2(i)=aux;
end
phi=exp(aux2);
end

10

También podría gustarte