Вы находитесь на странице: 1из 12

La ecuacin de van der Waals

En un gas ideal las molculas se consideran masas puntuales que interaccionan entre s mediante colisiones elsticas.

van der Waals introdujo correcciones que tenan en cuenta el volumen finito de las molculas y las fuerzas atractivas que una molcula ejerca sobre otra a distancias muy cercanas
entre ellas.

La ecuacin de estado de un gas ideal es PV=nRT

P es la presin del gas, V es el volumen, T es la temperatura, n es el nmero de moles y R la constante de los gases
Describe aproximadamente la conducta de los gases reales a muy bajas presiones.

La ecuacin de van der Waals tiene en cuenta el volumen finito de las molculas y las fuerzas atractivas que una molcula ejerce sobre otra a
distancias muy cercanas entre ellas.

(P+n2aV2)(Vnb)=nRT(P+n2aV2)(Vnb)=nRT

Las constantes a y b son caractersticos de cada gas y se obtienen a partir de los datos de la presin, Pc, volumen Vc y la
temperatura Tc crtica. El punto crtico es un punto de inflexin de la isoterma Tc en el diagrama P-V de modo que se cumple que

(PV)T=0 nRT(Vnb)2+2n2aV3=0(2PV2)T=0 2nRT(Vnb)36n2aV4=0(PV)T=0 nRT(Vnb)2+2n2aV3=0(2PV2)T=0


2nRT(Vnb)36n2aV4=0

De estas dos ecuaciones obtenemos, el volumen Vc y la temperatura Tc crtica.

Vc=3nb Tc=8a27RbVc=3nb Tc=8a27Rb

Sustituyendo Vc y Tc en la ecuacin de van der Waals obtenemos la presin crtica, Pc,

Pc=a27b2Pc=a27b2

Escribimos la ecuacin de van der Waals universal ms simple en trminos de nuevas variables: p=P/Pc, v=V/Vc y t=T/Tc

(p+3v2)(3v1)=8t(p+3v2)(3v1)=8t

En el punto crtico pc=1, tc=1 y vc=1.


Como vamos a dibujar las isotermas en un diagrama P-V, despejamos la presin p.

p=8t3v13v2p=8t3v13v2

Creamos un script para representar las isotermas de temperaturas t=0.8,0.9,1.0,1.1 y 1.2. Sealamos con una marca el punto crtico tal
como se aprecia en la figura

f=@(t,x) 8*t./(3*x-1)-3./(x.^2);
hold on
axis([0.5 4 0 2])
for t=0.8:0.1:1.2;
v=linspace(0.5,4,100);
p=f(t,v);
plot(v,p)
end
plot(1,1,'ro')
xlabel('V_R')
ylabel('P_R')
grid on
hold off
Examinamos las isotermas por debajo de la temperatura crtica t<1.

En la figura vemos que para una determinada presin p, la recta p=cte corta a la curva en tres puntos A, B y C. Los volmenes v1, v2 y v3 que
corresponden a estos tres puntos se obtienen resolviendo la ecuacin cbica

v38t+p3pv2+3pv1p=0v38t+p3pv2+3pv1p=0

Para obtener las races, utilizamos la funcin roots de MATLAB o la funcin raices_3 que nos calcula las tres races exactas de una ecuacin de
tercer grado.

function x = raices_3(p)
Q=(p(2)*p(2)-3*p(3))/9;
R=(2*p(2)^3-9*p(2)*p(3)+27*p(4))/54;
x=zeros(3,1);
if (R*R)<(Q^3)
tetha=acos(R/sqrt(Q^3));
x(1)=-2*sqrt(Q)*cos(tetha/3)-p(2)/3;
x(2)=-2*sqrt(Q)*cos((tetha+2*pi)/3)-p(2)/3;
x(3)=-2*sqrt(Q)*cos((tetha-2*pi)/3)-p(2)/3;
else
A=-sign(R)*nthroot(abs(R)+sqrt(R*R-Q^3),3);
if A==0
B=0;
else
B=Q/A;
end
x(1)=(A+B)-p(2)/3;
x(2)=-(A+B)/2-p(2)/3+(sqrt(3)*(A-B)/2)*sqrt(-1);
x(3)=-(A+B)/2-p(2)/3-(sqrt(3)*(A-B)/2)*sqrt(-1);
end
end
Ordenamos los valores de las races de menor a mayor mediante la funcin sort de MATLAB.
La isoterma de temperatura t, tiene un mnimo y un mximo local. Determinamos sus coordenadas (vm1, pm1) y (vm2, pm2) calculando la
derivada primera e igualando a cero.

p=8t3v13v2(pv)t=0 24t(3v1)26v3=0v394tv2+32tv14t=0p=8t3v13v2(pv)t=0 24t(3v1)26v3=0v394tv2+32tv14t=0

Tenemos de nuevo, que calcular las races de una ecuacin cbica.

En la zona de transicin entre la fase gaseosa y la fase lquida la presin no oscila, se mantiene constante y el potencial qumico se mantiene
constante. La regla de Maxwell elimina el comportamiento oscilante de la isoterma de la ecuacin de van der Waals y la sustituye por un
segmento horizontal de presin pr tal que el rea comprendida entre el segmento horizontal AB y la isoterma es igual al rea comprendida
entre la isoterma y el segmento horizontal BC, tal como se ve en la figura ms abajo.

En la figura, vemos la isoterma de temperatura t=0.9,

los extremos locales identificados con el smbolo '*',


la presin pr para la cual las reas sombreadas de color amarillo son iguales.
los puntos de corte de la isoterma con la recta pr =cte

El el rea A1comprendida entre el segmento horizontal AB y la isoterma se calcula integrando


p(v2v1)v1v2pdv=p(v2v1)v1v2(8t3v13v2)dv=p(v2v1)83tln3v213v113(1v21v1)p(v2v1)v1v2pdv=p(v2v1)v1v2(8t3v13v2)dv=p(v2
v1)83tln3v213v113(1v21v1)

El el rea A2 comprendida entre el segmento horizontal BC y la isoterma se calcula integrando

v2v3pdvp(v3v2)=83tln3v313v21+3(1v31v2)p(v3v2)v2v3pdvp(v3v2)=83tln3v313v21+3(1v31v2)p(v3v2)

Creamos una funcin denominada igualArea que calcule la diferencia entre las dos reas A1-A2.

function res=igualArea(p,t)
pol=[1 -(p+8*t)/(3*p) 3/p -1/p];
v = sort(raices_3(pol));
area_1 = p*(v(2)-v(1))-8/3*t*log((3*v(2)-1)
/(3*v(1)-1))-3*(v(1)-v(2))/(v(1)*v(2));
area_2 =8/3*t*log((3*v(3)-1)/(3*v(2)-1))+3*(v(2)-v(3))
/(v(2)*v(3))-p*(v(3)-v(2));
res=area_1-area_2;
end
Creamos un script para realizar las siguientes tareas:.

1. Establezca el valor de la temperatura t reducida, menor que la unidad


2. Represente la isoterma de color rojo en el diagrama P-V.
3. Calcule el mnimo pm1 y mximo pm2 local resolviendo la ecuacin de tercer grado en v.
4. La presin pr buscada estar en el intervalo ( pm1, pm2 ), o bien en el intervalo ( 0, pm2 ) si pm1 fuese negativa (la presin es siempre
positiva). El manejador (handle) de esta funcin igualArea se lo pasaremos a la funcin fzero de MATLAB para que calcule el
valor pr de la presin que hace la que diferencia de reas sea nula.
5. Una vez obtenido el valor de la presin pr, se calcula las races de la ecuacin cbica para determinar los volmenes v1, v2 y v3. El
primero corresponde al volumen de la fase lquida y el tercero al del gas, para la presin pr y la temperatura t
6. Rellene de color amarillo las dos regiones, para mostrar visualmente que las reas son iguales.

t=input('temperatura reducida (0.8-1): ');


%grfica de la isoterma
f=@(x) 8*t./(3*x-1)-3./(x.^2);
Vr=linspace(0.5,4,100);
Pr=f(Vr);
hold on
axis([0 4 0 1.4])
plot(Vr,Pr,'r')
xlabel('V_R')
ylabel('P_R')

%mximo y mnimo
pol=[1 -9/(4*t) 3/(2*t) -1/(4*t)];
z=sort(raices_3(pol));
plot(z(1),f(z()),z(2),f(z(2)),'k*',z(3),f(z(3)),'k*')
if f(z(2))>0
a=f(z(2))+0.01;
else
a=0.01;
end
b=f(z(3))-0.01;
%calcula p para que las reas sean iguales
f1=@(p)igualArea(p,t);
p=fzero(f1,[a b]);
%igualArea(p,t) %para comprobar que las areas son iguales
plot([0 4],[p p],'k--')
pol=[1 -(p+8*t)/(3*p) 3/p -1/p];
v = sort(raices_3(pol));
plot(v(1),p,'bo',v(2),p,'bo',v(3),p,'bo')

%rellenar la areas
xx = [v(1) Vr(Vr >= v(1) & Vr <= v(2)) v(2)];
yy = [f(v(1)) Pr(Vr >= v(1) & Vr <= v(2)) f(v(2))];
fill(xx,yy,'y')

xx = [v(2) Vr(Vr >= v(2) & Vr <= v(3)) v(3)];


yy = [f(v(2)) Pr(Vr >= v(2) & Vr <= v(3)) f(v(3))];
fill(xx,yy,'y')
plot(Vr,Pr,'r')
%imprimir datos
text(1,1.35,sprintf('presin %1.3f',p))
text(1,1.25,sprintf('volumen gas %1.3f',v(3)))
text(1,1.15,sprintf('volumen lquido %1.3f',v(1)))

hold off
Ahora vamos a dibujar varias isotermas por encima y por debajo del punto crtico t=1. Sustituiremos la regin ondulada entre vliquido y vgas a la
presin pr por un segmento y uniremos los puntos que marcan la regin de coexistencia de las dos fases, tal como se muestra en la figura.
Creamos un script para que realice las siguientes tareas.

1. Dibuje las isotermas t1 (para t=1,1.05,1.1,1.15 y 1.2)


2. Dibuje las isotermas para t<1 (para t=0.8, 0.85, 0.9, 0.95).
o Para cada isoterma se calcula el volumen vliquido=v(1) y vgas=v(3) a la presin prresolviendo la ecuacin trascedente A1-A2=0,
mediante la funcin fzero, guardando los datos en una matriz bidimiensional (volumen, presin).
o Se sustituye la regin ondulada por el segmento que une v(1) y v(3) a la presin pr,
3. Se aade a la matriz bidimensional las coordendas del punto crtico v=1 y p=1. Ordenamos la matriz de datos (v,p) utilizando la
funcin MATLAB sortrows, y unimos los puntos (v,p) mediante lneas de color azul tal como se muestra en la figura.

Vr=linspace(0.1,4,100);
hold on
i=1;
PV=zeros(9,2);
axis([0.4 4 0.2 1.4])
for t=0.8:0.05:1.2;
f=@(x) 8*t./(3*x-1)-3./(x.^2);
if t<1
%calcula mximo y mnimo local de p
pol=[1 -9/(4*t) 3/(2*t) -1/(4*t)];
z=sort(raices_3(pol));
if f(z(2))>0
a=f(z(2))+0.01;
else
a=0.01;
end
b=f(z(3))-0.01;
%calcula p para que las reas sean iguales
f1=@(p)igualArea(p,t);
p=fzero(f1,[a b]);
pol=[1 -(p+8*t)/(3*p) 3/p -1/p];
v = sort(raices_3(pol));
%guarda Vlquido, Vgas y la presin constante p
PV(i,1)=v(1);PV(i,2)=p;
PV(i+1,1)=v(3);PV(i+1,2)=p;
i=i+2;
%grfica
Pr=f(Vr);
Vf = [Vr(Vr <= v(1)) v(1) v(3) Vr(Vr>= v(3))];
Pf = [Pr(Vr <= v(1)) f(v(1)) f(v(3)) Pr(Vr>= v(3))];
plot(Vf,Pf,'r')
else %en el punto crtico y por encima
Pr=f(Vr);
plot(Vr,Pr,'r')
end
end
%une los puntos (p Vlquido), (p Vgas) cambio de fase
PV(i,1)=1; PV(i,2)=1; %punto crtico
PVs=sortrows(PV,1);
plot(PVs(:,1),PVs(:,2),'b')
plot(1,1,'bo') %punto crtico
xlabel('V_R')
ylabel('P_R')
hold off

Вам также может понравиться