> restart:#"m04_p05".

Se va a hacer uso de la ecuación de van der Waals con las constantes determinadas a partir de las condiciones en el punto crítico, en lugar de por ajuste en una zona más amplia. Se pide:
a) Calcular a, b y R en función de Tcr, pcr y vcr.
b) Calcular a, b y vcr en función de Tcr, pcr y R. Esto es mejor porque así la R corresponde a la de los gases ideales y porque la vcr tiene gran incertidumbre experimental.
c) Expresión del factor de compresibilidad en función de las magnitudes reducidas.
d) Expresar la presión reducida en función de las otras magnitudes reducidas.
e) Puntos en los que las isotermas son horizontales en el diagrama Z-p y temperatura de Boyle, y comparación con la del diagrama generalizado de compresibilidad.
f) Curva de inversión y temperatura de inversión, y comparación con la del diagrama generalizado de compresibilidad.
g) Repetir el problema para otras ecuaciones de estado:Dietericci, Redlich-Kwong, Berthelot).
Datos:

> #eq1:=Z=v/(v-b)-a/(v*R*T);#van der Waals

> #eq1:=Z=(v/(v-b))*exp(-a/(v*R*T));#Dieterici

> #eq1:=Z=v/(v-b)-a/((v+b)*R*T^(3/2));#Redlich-Kwong

> eq1:=Z=v/(v-b)-a/(v*R*T^2);#Berthelot

`:=`(eq1, Z = `+`(`/`(`*`(v), `*`(`+`(v, `-`(b)))), `-`(`/`(`*`(a), `*`(v, `*`(R, `*`(`^`(T, 2))))))))

> eq2:=Z=p*v/(R*T);

`:=`(eq2, Z = `/`(`*`(p, `*`(v)), `*`(R, `*`(T))))

a) Calcular a, b en función de Tcr y pcr.

> assign(eq1):p:=subs(v_b=v-b,collect(subs(v=v_b+b,solve(eq2,p)),a));

`:=`(p, `+`(`-`(`/`(`*`(a), `*`(`^`(v, 2), `*`(T)))), `/`(`*`(R, `*`(T)), `*`(`+`(v, `-`(b))))))

> ppri:=diff(p,v):psec:=diff(ppri,v):

> sol1:=solve(subs({T=Tcr,v=vcr},{p=pcr,ppri=0,psec=0}),{a,b,R});

`:=`(sol1, {b = `+`(`*`(`/`(1, 3), `*`(vcr))), a = `+`(`*`(3, `*`(pcr, `*`(`^`(vcr, 2), `*`(Tcr))))), R = `+`(`/`(`*`(`/`(8, 3), `*`(pcr, `*`(vcr))), `*`(Tcr)))})

b) Calcular a, b y vcr en función de Tcr, pcr y R. Esto es mejor porque así la R corresponde a la de los gases ideales y porque la vcr tiene gran incertidumbre experimental.

> sol11:=solve(subs({T=Tcr,v=vcr},{p=pcr,ppri=0,psec=0}),{a,b,vcr});

`:=`(sol11, {vcr = `+`(`/`(`*`(`/`(3, 8), `*`(R, `*`(Tcr))), `*`(pcr))), b = `+`(`/`(`*`(`/`(1, 8), `*`(R, `*`(Tcr))), `*`(pcr))), a = `+`(`/`(`*`(`/`(27, 64), `*`(`^`(R, 2), `*`(`^`(Tcr, 3)))), `*`(p...

c) Expresión del factor de compresibilidad en función de las magnitudes reducidas.

> eqDefTR:=TR=T/Tcr;eqDefpR:=pR='p'/pcr;eqDefvR:=vR=v/vcr;Zcr:='pcr*vcr/(R*Tcr)';Zcr_:=subs(sol1,Zcr);Zcr__:=evalf(Zcr_,2);

`:=`(eqDefTR, TR = `/`(`*`(T), `*`(Tcr)))

`:=`(eqDefpR, pR = `/`(`*`(p), `*`(pcr)))

`:=`(eqDefvR, vR = `/`(`*`(v), `*`(vcr)))

`:=`(Zcr, `/`(`*`(pcr, `*`(vcr)), `*`(R, `*`(Tcr))))

`:=`(Zcr_, `/`(3, 8))

`:=`(Zcr__, .38)

d) Expresar la presión reducida en función de las otras magnitudes reducidas.

> Z_:=collect(subs(T=TR*Tcr,p=pR*pcr,v=vR*vcr,sol1,Z),vcr);eqpR:=pR='(Z/Zcr)*TR/vR';pR:=expand((Z_/Zcr_)*TR/vR);#Z__:=convert(map(simplify,{op(Z_)}),whattype(Z_));

`:=`(Z_, `+`(`/`(`*`(vR), `*`(`+`(vR, `-`(`/`(1, 3))))), `-`(`/`(`*`(`/`(9, 8)), `*`(vR, `*`(`^`(TR, 2)))))))

`:=`(eqpR, pR = `/`(`*`(Z, `*`(TR)), `*`(Zcr, `*`(vR))))

`:=`(pR, `+`(`/`(`*`(`/`(8, 3), `*`(TR)), `*`(`+`(vR, `-`(`/`(1, 3))))), `-`(`/`(`*`(3), `*`(TR, `*`(`^`(vR, 2)))))))

> eqvR:=vR='(Z__/Zcr_)*TR/pR__';eqvR;eqZ3:=simplify(Z__*(vR-1/3)*vR=Z_*(vR-1/3)*vR);eqZ3:=expand(subs(eqvR,0=lhs(eqZ3)-rhs(eqZ3)));eqZ3_:=expand(eqZ3/coeff(rhs(eqZ3),Z__,3));

`:=`(eqvR, vR = `/`(`*`(Z__, `*`(TR)), `*`(Zcr_, `*`(pR__))))

vR = `+`(`/`(`*`(`/`(8, 3), `*`(Z__, `*`(TR))), `*`(pR__)))

`:=`(eqZ3, `+`(`*`(`/`(1, 3), `*`(Z__, `*`(`+`(`*`(3, `*`(vR)), `-`(1)), `*`(vR))))) = `+`(`/`(`*`(`/`(1, 8), `*`(`+`(`*`(8, `*`(`^`(vR, 2), `*`(`^`(TR, 2)))), `-`(`*`(9, `*`(vR))), 3))), `*`(`^`(TR, ...

`:=`(eqZ3, 0 = `+`(`/`(`*`(`/`(64, 9), `*`(`^`(Z__, 3), `*`(`^`(TR, 2)))), `*`(`^`(pR__, 2))), `-`(`/`(`*`(`/`(8, 9), `*`(`^`(Z__, 2), `*`(TR))), `*`(pR__))), `-`(`/`(`*`(`/`(64, 9), `*`(`^`(TR, 2), `...

`:=`(eqZ3_, 0 = `+`(`*`(`^`(Z__, 3)), `-`(`/`(`*`(`/`(1, 8), `*`(pR__, `*`(`^`(Z__, 2)))), `*`(TR))), `-`(`*`(`^`(Z__, 2))), `/`(`*`(`/`(27, 64), `*`(pR__, `*`(Z__))), `*`(`^`(TR, 3))), `-`(`/`(`*`(`/...

> plot({seq(subs(TR=TR10/10,pR),TR10=6..15)},vR=0.34..3,'pR'=0..2,color=black);plot({seq(subs(TR=TR10/10,[pR,Z_,vR=0.34..10]),TR10=6..15)},'pR'=0..2,'Z'=0..1.1,color=black);

Plot_2d
Plot_2d

e)Puntos en los que las isotermas son horizontales en el diagrama Z-p y temperatura de Boyle, y comparación con la del diagrama generalizado de compresibilidad.

> eqDef_TB:=Diff('Z','pR')[TR]=0;Diff('Z','pR')[TR]=Diff('Z',vR)[TR]/Diff('pR',vR)[TR];eqDef_TB:=Diff('Z',vR)[TR]=0;Diff('Z',vR)=diff(Z_,vR);TB_vR:=expand(solve(diff(Z_,vR)=0,TR));TB:=convert(asympt(TB_vR,vR,1),polynom);'TB'=evalf(TB,2);

`:=`(eqDef_TB, (Diff(Z, pR))[TR] = 0)

(Diff(Z, pR))[TR] = `/`(`*`((Diff(Z, vR))[TR]), `*`((Diff(pR, vR))[TR]))

`:=`(eqDef_TB, (Diff(Z, vR))[TR] = 0)

Diff(Z, vR) = `+`(`/`(1, `*`(`+`(vR, `-`(`/`(1, 3))))), `-`(`/`(`*`(vR), `*`(`^`(`+`(vR, `-`(`/`(1, 3))), 2)))), `/`(`*`(`/`(9, 8)), `*`(`^`(vR, 2), `*`(`^`(TR, 2)))))
`:=`(TB_vR, `+`(`*`(`/`(3, 4), `*`(`^`(6, `/`(1, 2)))), `-`(`/`(`*`(`/`(1, 4), `*`(`^`(6, `/`(1, 2)))), `*`(vR)))))

`:=`(TB, `+`(`*`(`/`(3, 4), `*`(`^`(6, `/`(1, 2))))))

TB = 1.8

La del diagrama generalizado de compresibilidad es aprox TR=2,5.

El lugar geométrico de los mínimos es:

> Z_Tmin:=simplify(subs(TR=TB_vR,Z_));pR_Tmin:=simplify(subs(TR=TB_vR,pR));

`:=`(Z_Tmin, `+`(`/`(`*`(3, `*`(vR, `*`(`+`(`*`(3, `*`(vR)), `-`(2))))), `*`(`^`(`+`(`*`(3, `*`(vR)), `-`(1)), 2)))))

`:=`(pR_Tmin, `+`(`/`(`*`(2, `*`(`+`(`*`(3, `*`(vR)), `-`(2)), `*`(`^`(6, `/`(1, 2))))), `*`(vR, `*`(`+`(`*`(3, `*`(vR)), `-`(1)))))))

f) Curva de inversión y temperatura de inversión, y comparación con la del diagrama generalizado de compresibilidad.

> eqJT:=mu=Diff(T,'p')[h];eqdh:=dh=c['p']*dT+(alpha*T-1)*v*dp;eqmu0:=T*Diff(v,T)['p']-v=0;eqmu0:=Diff('Z',TR)['pR']=0;eqmu0:=Diff('Z',TR)['vR']+Diff('Z',vR)['TR']*Diff(vR,TR)['pR']=0;dZ_dTR_vR:=diff(Z_,TR);dZ_dvR_TR:=diff(Z_,vR);dpR_dTR_vR:=diff(pR,TR);dpR_dvR_TR:=diff(pR,vR);dvR_dTR_pR:='-dpR_dTR_vR/dpR_dvR_TR';eqmu0:='dZ_dTR_vR+dZ_dvR_TR*dvR_dTR_pR=0';TI_vR:=solve(expand(eqmu0),TR);nsol:=nops([TI_vR]);if nsol>1 then TI_vR_:=-TI_vR[nsol] else TI_vR_:=TI_vR fi; TI:=subs(rho=0,expand(subs(vR=1/rho,TI_vR_)));TI_:=evalf(TI,2);

`:=`(eqJT, mu = (Diff(T, p))[h])

`:=`(eqdh, dh = `+`(`*`(c[p], `*`(dT)), `*`(`+`(`*`(alpha, `*`(T)), `-`(1)), `*`(v, `*`(dp)))))

`:=`(eqmu0, `+`(`*`(T, `*`((Diff(v, T))[p])), `-`(v)) = 0)

`:=`(eqmu0, (Diff(Z, TR))[pR] = 0)

`:=`(eqmu0, `+`((Diff(Z, TR))[vR], `*`((Diff(Z, vR))[TR], `*`((Diff(vR, TR))[pR]))) = 0)

`:=`(dZ_dTR_vR, `+`(`/`(`*`(`/`(9, 4)), `*`(vR, `*`(`^`(TR, 3))))))

`:=`(dZ_dvR_TR, `+`(`/`(1, `*`(`+`(vR, `-`(`/`(1, 3))))), `-`(`/`(`*`(vR), `*`(`^`(`+`(vR, `-`(`/`(1, 3))), 2)))), `/`(`*`(`/`(9, 8)), `*`(`^`(vR, 2), `*`(`^`(TR, 2))))))

`:=`(dpR_dTR_vR, `+`(`/`(`*`(`/`(8, 3)), `*`(`+`(vR, `-`(`/`(1, 3))))), `/`(`*`(3), `*`(`^`(vR, 2), `*`(`^`(TR, 2))))))

`:=`(dpR_dvR_TR, `+`(`-`(`/`(`*`(`/`(8, 3), `*`(TR)), `*`(`^`(`+`(vR, `-`(`/`(1, 3))), 2)))), `/`(`*`(6), `*`(TR, `*`(`^`(vR, 3))))))

`:=`(dvR_dTR_pR, `+`(`-`(`/`(`*`(dpR_dTR_vR), `*`(dpR_dvR_TR)))))

`:=`(eqmu0, `+`(dZ_dTR_vR, `*`(dZ_dvR_TR, `*`(dvR_dTR_pR))) = 0)
`:=`(TI_vR, `+`(`/`(`*`(`/`(1, 4), `*`(`^`(`+`(`*`(18, `*`(vR)), `-`(6)), `/`(1, 2)))), `*`(vR))), `+`(`-`(`/`(`*`(`/`(1, 4), `*`(`^`(`+`(`*`(18, `*`(vR)), `-`(6)), `/`(1, 2)))), `*`(vR)))), `+`(`/`(`...

`:=`(nsol, 4)

`:=`(TI_vR_, `+`(`/`(`*`(`/`(3, 4), `*`(`^`(2, `/`(1, 2)), `*`(`+`(`*`(3, `*`(vR)), `-`(1))))), `*`(vR))))

`:=`(TI, `+`(`*`(`/`(9, 4), `*`(`^`(2, `/`(1, 2))))))

`:=`(TI_, 3.1)

En el diagrama de correcciones de h se atisba TI=5.

La curva de inversión, en paramétricas, será:

> pR_TI:=subs(TR=TI_vR_,pR);

`:=`(pR_TI, `+`(`/`(`*`(2, `*`(`^`(2, `/`(1, 2)), `*`(`+`(`*`(3, `*`(vR)), `-`(1))))), `*`(vR, `*`(`+`(vR, `-`(`/`(1, 3)))))), `-`(`/`(`*`(2, `*`(`^`(2, `/`(1, 2)))), `*`(`+`(`*`(3, `*`(vR)), `-`(1)),...

> plot([TI_vR_,pR_TI,vR=.334..100],Temp=0..TI_,pres=0..20,numpoints=1000);

Plot_2d

La aproximación lineal es:

> pR_TI_lin:=convert(series(subs(vR=1/rho,pR_TI),rho,2),polynom);TI_vR_lin:=convert(series(subs(vR=1/rho,TI_vR_),rho,2),polynom);pR_TI_lin:=subs(rho=solve(TI_vR_lin=TR_lin,rho),pR_TI_lin);

`:=`(pR_TI_lin, `+`(`*`(6, `*`(`^`(2, `/`(1, 2)), `*`(rho)))))

`:=`(TI_vR_lin, `+`(`*`(`/`(9, 4), `*`(`^`(2, `/`(1, 2)))), `-`(`*`(`/`(3, 4), `*`(`^`(2, `/`(1, 2)), `*`(rho))))))

`:=`(pR_TI_lin, `+`(`*`(18, `*`(`^`(2, `/`(1, 2)))), `-`(`*`(8, `*`(TR_lin)))))

Respecto a las constantes a y b,

> eqmu:=mu[JT]=(T*(-Diff(p,T)/Diff(p,v))-v)/cp;eqmu:=value(eqmu);eqmu0_lin:=0=expand(convert(series(subs(v=1/rho,rhs(eqmu)),rho,4),polynom));

`:=`(eqmu, mu[JT] = `/`(`*`(`+`(`-`(`/`(`*`(T, `*`(Diff(`+`(`-`(`/`(`*`(a), `*`(`^`(v, 2), `*`(T)))), `/`(`*`(R, `*`(T)), `*`(`+`(v, `-`(b))))), T))), `*`(Diff(`+`(`-`(`/`(`*`(a), `*`(`^`(v, 2), `*`(T...

`:=`(eqmu, mu[JT] = `/`(`*`(`+`(`-`(`/`(`*`(T, `*`(`+`(`/`(`*`(a), `*`(`^`(v, 2), `*`(`^`(T, 2)))), `/`(`*`(R), `*`(`+`(v, `-`(b))))))), `*`(`+`(`/`(`*`(2, `*`(a)), `*`(`^`(v, 3), `*`(T))), `-`(`/`(`*...

`:=`(eqmu0_lin, 0 = `+`(`/`(`*`(3, `*`(a)), `*`(`^`(T, 2), `*`(R, `*`(cp)))), `-`(`/`(`*`(b), `*`(cp)))))

g) Repetir el problema para otras ecuaciones de estado:Dietericci, Redlich-Kwong,

Basta cambiar el dato al principio (eq1)

>