Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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
vg=1/[b(4,1)]; %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));
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));
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
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));
h4=(v5-(T*cte2))*(10)+h3;
Pisotermica2=Pisotermica2+10;
h3=h4;
end
hg=h4/1000;
end
%ENTROPIA: sfg
sfg=(hfg/T);
vg=1/[b(4,1)]; %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));
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));
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));
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));
%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.
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));
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));
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
%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));
vsat=1/[b(4,1)]
%v: m^3/kg
v=1/[b(4,1)]
else
T=input('Ingrese una temperatura mayor a la de saturacion:')
end