Está en la página 1de 10

David Vega

Marcela Lozada
INFORME TABLAS TERMODINÁMICAS

Elemento: Potasio

Solicitamos nos extienda el plazo de entrega de las tablas pues los valores que obtenemos de hg
en la tabla de potasio saturado presentan un porcentaje de error elevado, y aun no logramos
encontrar cual es el error que produce tal diferencia de valores, por la misma razón no podemos
calcular hg en la tabla de potasio sobrecalentado.

Las tablas se encuentran desarrolladas en Matlab, se presenta la pantalla capturada del programa
seguido por el código del mismo.

Potasio saturado

En la tabla de potasio saturado, se muestra los valores de P, vf, vg, hfg, sfg y hg a temperaturas
determinadas; y da la opción de ingresar una temperatura dentro del rango y obtener los valores
correspondientes a dicha temperatura.

El momento de correr el programa se obtiene la tabla de la siguiente manera.


David Vega
Marcela Lozada

El código utilizado para este programa es:

%PROGRAMA-TABLAS TERMODINAMICAS - ELEMENTO POTASIO SATURADO

clc
fprintf('T[K] P[MPa]vf[m^3/kg]vg[m^3/kg]Cv hfg[KJ/Kg]hg[KJ/Kg]
sfg[KJ/Kg*K]\n\n')
for i=800:25:1650
%Temperatura
T=i;
%T=input ('Ingrese la Temperatura en grados °K:' )
%Presion
format long
p=exp(25.34696+(-10406.79/T)+(-0.5356*log(T)));
format long
P=p/1000000; %Mpa

%Volumen específico de gas:vg


B=-T^2*exp(-9.423507+(6256.252/T));
C=T*exp(-6.167816+(8168.676/T));
D=-T*exp(-10.59937+(10059.48/T));

densidad=[D C B (212.642*T) -p];


x=roots(densidad);
b=[x];
b=real(b);

vg=1/[b(4,1)]; %m^3/kg

%Volumen especifico del liquido: vf


f=(845.2642)-(0.2161777*(T-255.372))-(0.00002727342*(T-
255.372)^2)+(0.000000004652311*(T-255.372)^3);
vf=1/f; %m^3/kg

%Calor Especifico: cv
Cv=319.0816+(2274636000000*(exp(-(21875/T))/T^2));%J/(Kg K)

%Entalpia : hfg
t1=T-0.01;
t2=T+0.01;
p1=exp(25.34696+(-10406.79/t1)+(-0.5356*log(t1)));
p2=exp(25.34696+(-10406.79/t2)+(-0.5356*log(t2)));
s=(p2-p1)/(t2-t1);
vfg=(vg-vf);
David Vega
Marcela Lozada
hfg=(T*vfg*s)/1000; % KJ/kg

%Entalpia:hg
if T==800
hg=hfg;
else
%PROCESO ISOTERMICO 1
Tcte=801;
B1=-Tcte^2*exp(-9.423507+(6256.252/Tcte));
C1=Tcte*exp(-6.167816+(8168.676/Tcte));
D1=-Tcte*exp(-10.59937+(10059.48/Tcte));

densidad1=[D1 C1 B1 (212.642*Tcte) -6363];


x1=roots(densidad1);
b1=[x1];
b1=real(b1);
v2=1/[b1(4,1)];

cte=(25.97-v2)/(800-801);

Pisotermica=6363;
h1=2060700;
while (Pisotermica > 0)
Tcte1=800;

B2=-Tcte1^2*exp(-9.423507+(6256.252/Tcte1));
C2=Tcte1*exp(-6.167816+(8168.676/Tcte1));
D2=-Tcte1*exp(-10.59937+(10059.48/Tcte1));

densidad2=[D2 C2 B2 (212.642*Tcte1) -Pisotermica];


x2=roots(densidad2);
b2=[x2];
b2=real(b2);
v3=1/[b2(4,1)];

h2=(v3-(800*cte))*(-3)+h1;

Pisotermica=Pisotermica-3;
h1=h2;
end

%PROCESO ISOBÁRICO
Tisobarico=800;
while (Tisobarico ~= (T))
Cv2=319.0816+(2274636000000*(exp(-(21875/Tisobarico))/Tisobarico^2));
Cp=Cv2-212.642;
h3=Cp*(1)+h2;
Tisobarico=Tisobarico+1;
h2=h3;
end

%PROCESO ISOTERMICO 2
Tcte2=T+0.1;

B=-Tcte2^2*exp(-9.423507+(6256.252/Tcte2));
C=Tcte2*exp(-6.167816+(8168.676/Tcte2));
D=-Tcte2*exp(-10.59937+(10059.48/Tcte2));
David Vega
Marcela Lozada

densidad=[D C B (212.642*Tcte2) -p];


x=roots(densidad);
b=[x];
b=real(b);
v4=1/[b(4,1)];

cte2=(vg-v4)/(T-Tcte2);
Pisotermica2=0;
while (Pisotermica2 < (p))
B=-T^2*exp(-9.423507+(6256.252/T));
C=T*exp(-6.167816+(8168.676/T));
D=-T*exp(-10.59937+(10059.48/T));

densidad=[D C B (212.642*T) -Pisotermica2];


x=roots(densidad);
b=[x];
b=real(b);
v5=1/[b(4,1)];

h4=(v5-(T*cte2))*(10)+h3;

Pisotermica2=Pisotermica2+10;
h3=h4;
end
hg=h4/1000;
end

%ENTROPIA: sfg
sfg=(hfg/T);

fprintf('%2d \t %11.6f \t %11.6f \t %10.5f \t %10.4f \t %4.1f \t %4.1f \t


%4.4f \n',T,P,vf,vg,Cv,hfg,hg,sfg)
end

%Para valores de Temperatura intermedios


fprintf('\n \n')
T=input ('Ingrese la Temperatura en grados °K:' )
%Presion
format long
p=exp(25.34696+(-10406.79/T)+(-0.5356*log(T)));
format long
P=p/1000000; %Mpa

%Volumen específico de gas:vg


B=-T^2*exp(-9.423507+(6256.252/T));
C=T*exp(-6.167816+(8168.676/T));
D=-T*exp(-10.59937+(10059.48/T));

densidad=[D C B (212.642*T) -p];


x=roots(densidad);
b=[x];
b=real(b);

vg=1/[b(4,1)]; %m^3/kg

%Volumen especifico del liquido: vf


David Vega
Marcela Lozada
f=(845.2642)-(0.2161777*(T-255.372))-(0.00002727342*(T-
255.372)^2)+(0.000000004652311*(T-255.372)^3);
vf=1/f; %m^3/kg

%Calor Especifico: cv
Cv=319.0816+(2274636000000*(exp(-(21875/T))/T^2));%J/(Kg K)

%Entalpia : hfg
t1=T-0.01;
t2=T+0.01;
p1=exp(25.34696+(-10406.79/t1)+(-0.5356*log(t1)));
p2=exp(25.34696+(-10406.79/t2)+(-0.5356*log(t2)));
s=(p2-p1)/(t2-t1);
vfg=(vg-vf);
hfg=(T*vfg*s)/1000; % KJ/kg

%Entalpia:hg
if T==800
hg=hfg;
else
%PROCESO ISOTERMICO 1
Tcte=801;
B1=-Tcte^2*exp(-9.423507+(6256.252/Tcte));
C1=Tcte*exp(-6.167816+(8168.676/Tcte));
D1=-Tcte*exp(-10.59937+(10059.48/Tcte));

densidad1=[D1 C1 B1 (212.642*Tcte) -6363];


x1=roots(densidad1);
b1=[x1];
b1=real(b1);
v2=1/[b1(4,1)];

cte=(25.97-v2)/(800-801);

Pisotermica=6363;
h1=2060700;
while (Pisotermica > 0)
Tcte1=800;

B2=-Tcte1^2*exp(-9.423507+(6256.252/Tcte1));
C2=Tcte1*exp(-6.167816+(8168.676/Tcte1));
D2=-Tcte1*exp(-10.59937+(10059.48/Tcte1));

densidad2=[D2 C2 B2 (212.642*Tcte1) -Pisotermica];


x2=roots(densidad2);
b2=[x2];
b2=real(b2);
v3=1/[b2(4,1)];

h2=(v3-(800*cte))*(-3)+h1;

Pisotermica=Pisotermica-3;
h1=h2;
end
%PROCESO ISOBÁRICO
Tisobarico=800;
while (Tisobarico ~= (T))
Cv2=319.0816+(2274636000000*(exp(-(21875/Tisobarico))/Tisobarico^2));
David Vega
Marcela Lozada
Cp=Cv2-212.642;
h3=Cp*(1)+h2;
Tisobarico=Tisobarico+1;
h2=h3;
end

%PROCESO ISOTERMICO 2
Tcte2=T+0.1;

B=-Tcte2^2*exp(-9.423507+(6256.252/Tcte2));
C=Tcte2*exp(-6.167816+(8168.676/Tcte2));
D=-Tcte2*exp(-10.59937+(10059.48/Tcte2));

densidad=[D C B (212.642*Tcte2) -p];


x=roots(densidad);
b=[x];
b=real(b);
v4=1/[b(4,1)];

cte2=(vg-v4)/(T-Tcte2);
Pisotermica2=0;
while (Pisotermica2 < (p))
B=-T^2*exp(-9.423507+(6256.252/T));
C=T*exp(-6.167816+(8168.676/T));
D=-T*exp(-10.59937+(10059.48/T));

densidad=[D C B (212.642*T) -Pisotermica2];


x=roots(densidad);
b=[x];
b=real(b);
v5=1/[b(4,1)];
h4=(v5-(T*cte2))*(10)+h3;
Pisotermica2=Pisotermica2+10;
h3=h4;
end
hg=h4/1000;
end

%ENTROPIA: sfg
sfg=(hfg/T);
fprintf('T[K] P[MPa] vf[m^3/kg] vg[m^3/kg] Cv
hfg[KJ/Kg] hg[KJ/Kg] sfg[KJ/Kg*K]\n\n')
fprintf('%2d \t %11.6f \t %11.6f \t %10.5f \t %10.4f \t %4.1f \t %4.1f \t
%4.4f \n',T,P,vf,vg,Cv,hfg,hg,sfg)

Potasio sobrecalentado

En la del potasio sobre calentado sólo obtenemos el valor del volumen específico a distintas
temperaturas.

El momento de correr el programa se obtiene de la siguiente manera los valores:


David Vega
Marcela Lozada

El código utilizado para este programa es :

%PROGRAMA-TABLAS TERMODINAMICAS - ELEMENTO POTASIO GASEOSO


clc
Z=[101325 200000 400000 700000 1000000 2000000];

for i=1:1:6
David Vega
Marcela Lozada

p=Z(1,i);

%Temperatura
funcionoriginal=inline('25.34696+(-10406.79/x)+(-0.5356*log(x))-log(p)');
derivadafuncion=inline('(10406.79/(x^2))+(-0.5356/x)');
diferencia=1;
z=10000;
error=0.0001;
valorinicial=1000;
while(diferencia > error)
a=funcionoriginal(p,valorinicial);
b=derivadafuncion(valorinicial);
siguientevalor=(valorinicial-(a/b));
diferencia=abs(z-siguientevalor);
z=siguientevalor;
valorinicial=siguientevalor;
end
format long
Tsat=siguientevalor;

%v Saturacion
B=-Tsat^2*exp(-9.423507+(6256.252/Tsat));
C=Tsat*exp(-6.167816+(8168.676/Tsat));
D=-Tsat*exp(-10.59937+(10059.48/Tsat));

densidad=[D C B (212.642*Tsat) -p];


x=roots(densidad);
b=[x];
b=real(b);

vsat=1/[b(4,1)];

%v: m^3/kg

if p==101325
t1=[1125 1200 1275 1350 1425 1500 1575 1650];
end
if p==200000
t1=[1125 1200 1275 1350 1425 1500 1575 1650];
end
if p==400000
t1=[ 1275 1350 1425 1500 1575 1650];
end
if p==700000
t1=[ 1350 1425 1500 1575 1650];
end
if p==1000000
t1=[ 1425 1500 1575 1650];
end
if p==2000000
t1=[ 1575 1650];
end

if p==101325
k=8;
end
if p==200000
David Vega
Marcela Lozada
k=8;
end
if p==400000
k=6;
end
if p==700000
k=5;
end
if p==1000000
k=4;
end
if p==2000000
k=2;
end

for o=1:1:k
T=t1(1,o);
B=-T^2*exp(-9.423507+(6256.252/T));
C=T*exp(-6.167816+(8168.676/T));
D=-T*exp(-10.59937+(10059.48/T));

densidad=[D C B (212.642*T) -p];


x=roots(densidad);
b=[x];
b=real(b);

v(1,o)=1/[b(4,1)];

end

if p==101325
X=[v(1,1) v(1,2) v(1,3) v(1,4) v(1,5) v(1,6) v(1,7) v(1,8)];
end
if p==200000
X=[v(1,1) v(1,2) v(1,3) v(1,4) v(1,5) v(1,6) v(1,7) v(1,8)];
end
if p==400000
X=[0 0 v(1,1) v(1,2) v(1,3) v(1,4) v(1,5) v(1,6)];
end
if p==700000
X=[0 0 0 v(1,1) v(1,2) v(1,3) v(1,4) v(1,5)];
end
if p==1000000
X=[0 0 0 0 v(1,1) v(1,2) v(1,3) v(1,4)];
end
if p==2000000
X=[0 0 0 0 0 0 v(1,1) v(1,2)];
end
format short
fprintf('P[MPa] Tsat[K] vsat[m^3/kg] \n')
fprintf('%2d \t %11.7f \t %7.3f \n',p/1000000,Tsat,vsat);
fprintf('T[K] 1125 1200 1275 1350 1425 1500
1575 1650 \n')
fprintf('v[m/kg] %2.4f \t %5.3f \t %5.3f \t %5.3f \t %5.3f \t %5.3f \t
%5.3f \t %5.3f \t %5.3f \n
\n',X(1,1),X(1,2),X(1,3),X(1,4),X(1,5),X(1,6),X(1,7),X(1,8))
fprintf('\n \n')
o=1;
end
David Vega
Marcela Lozada

%para una presion intermedia

%Presion
P=input ('Ingrese la Presion en MPa:' )
p=P*1000000;

%Temperatura
funcionoriginal=inline('25.34696+(-10406.79/x)+(-0.5356*log(x))-log(p)');
derivadafuncion=inline('(10406.79/(x^2))+(-0.5356/x)');
diferencia=1;
z=10000;
error=0.0001;
valorinicial=1000;
while(diferencia > error)
a=funcionoriginal(p,valorinicial);
b=derivadafuncion(valorinicial);
siguientevalor=(valorinicial-(a/b));
diferencia=abs(z-siguientevalor);
z=siguientevalor;
valorinicial=siguientevalor;
end
format long
Tsat=siguientevalor

%v Saturacion
B=-Tsat^2*exp(-9.423507+(6256.252/Tsat));
C=Tsat*exp(-6.167816+(8168.676/Tsat));
D=-Tsat*exp(-10.59937+(10059.48/Tsat));

densidad=[D C B (212.642*Tsat) -p];


x=roots(densidad);
b=[x];
b=real(b);

vsat=1/[b(4,1)]

%v: m^3/kg

T=input('Ingrese una temperatura mayor a la de saturacion:')


if T > Tsat
B=-T^2*exp(-9.423507+(6256.252/T));
C=T*exp(-6.167816+(8168.676/T));
D=-T*exp(-10.59937+(10059.48/T));

densidad=[D C B (212.642*T) -p];


x=roots(densidad);
b=[x];
b=real(b);

v=1/[b(4,1)]
else
T=input('Ingrese una temperatura mayor a la de saturacion:')
end

También podría gustarte