> restart;#"m07_p19"

Se trata del estudio de las mezclas de propano y n-butano. Se pide:

a) Diagrama p-x a 0 ºC, 20 ºC y 50 ºC.

b) Diagrama T-x a 10 kPa, 100 kPa y 1000 kPa.

Datos:

> read"../therm_eq.m":read"../therm_proc.m":with(therm_proc):

> su1:="C3H8":su2:="C4H10":dat:=[T1=(0+273)*K_,T2=(20+273)*K_,T3=(50+273)*K_,p1=10e3*Pa_,p2=100e3*Pa_,p3=1000e3*Pa_];

`:=`(dat, [T1 = `+`(`*`(273, `*`(K_))), T2 = `+`(`*`(293, `*`(K_))), T3 = `+`(`*`(323, `*`(K_))), p1 = `+`(`*`(0.10e5, `*`(Pa_))), p2 = `+`(`*`(0.100e6, `*`(Pa_))), p3 = `+`(`*`(0.1000e7, `*`(Pa_)))])

Esquema:

> `:=`(Sistemas, [mezcla])

> `:=`(Estados, [1, 2, 3])

Eqs. const.:

> eqETg:=subs(eq1_11,eq1_12);eqEE:=eq1_16;for i from 1 to 2 do gdat||i:=get_gas_data(su||i):dat||i:=op(dat),gdat||i,Const,SI2,SI1:od:pv1:=proc(T) global su1;get_pv_data(su1);RETURN(pv(T)):end:pv2:=proc(T) global su1;get_pv_data(su2);RETURN(pv(T)):end:

`:=`(eqETg, `/`(`*`(m), `*`(V)) = `/`(`*`(p), `*`(R, `*`(T))))

`:=`(eqEE, DU = `*`(m, `*`(c[v], `*`(DT))))

Desarrollo genérico:

> eqNV:=xv1+xv2=1;eqNL:=xl1+xl2=1;eqC1:=xv1*xv0+xl1*xl0=x01;eqC2:=xv2*xv0+xl2*xl0=x02;eqE1:=xv1/xl1=pv1/p;eqE2:=xv2/xl2=pv2/p;sol1:=solve({eqNV,eqNL,eqE1,eqE2},{xv1,xv2,xl1,xl2});sol2:=solve({eqC1,eqC2},{xv0,xl0});

`:=`(eqNV, `+`(xv1, xv2) = 1)

`:=`(eqNL, `+`(xl1, xl2) = 1)

`:=`(eqC1, `+`(`*`(xv1, `*`(xv0)), `*`(xl1, `*`(xl0))) = x01)

`:=`(eqC2, `+`(`*`(xv2, `*`(xv0)), `*`(xl2, `*`(xl0))) = x02)

`:=`(eqE1, `/`(`*`(xv1), `*`(xl1)) = `/`(`*`(pv1), `*`(p)))

`:=`(eqE2, `/`(`*`(xv2), `*`(xl2)) = `/`(`*`(pv2), `*`(p)))

`:=`(sol1, {xv1 = `/`(`*`(pv1, `*`(`+`(p, `-`(pv2)))), `*`(p, `*`(`+`(pv1, `-`(pv2))))), xl1 = `/`(`*`(`+`(p, `-`(pv2))), `*`(`+`(pv1, `-`(pv2)))), xl2 = `+`(`-`(`/`(`*`(`+`(p, `-`(pv1))), `*`(`+`(pv1...

`:=`(sol2, {xl0 = `/`(`*`(`+`(`*`(xv1, `*`(x02)), `-`(`*`(xv2, `*`(x01))))), `*`(`+`(`*`(xv1, `*`(xl2)), `-`(`*`(xv2, `*`(xl1)))))), xv0 = `+`(`-`(`/`(`*`(`+`(`*`(xl1, `*`(x02)), `-`(`*`(x01, `*`(xl2)...

a) Diagrama p-x a 0 ºC, 20 ºC y 50 ºC.

0 ºC

> p1_:=evalf(subs(dat,pv1(T1))):'p1'=evalf(%,2);p2_:=evalf(subs(dat,pv2(T1))):'p2'=evalf(%,2);N:=5:pl1:=[[1,p1_]]:pl2:=[[1,p1_]]:for i from 1 to N-1 do p[i]:=p1_+(p2_-p1_)*(i/N);xv1_[i]:=subs(sol1,p=p[i],pv1=p1_,pv2=p2_,dat,xv1);xl1_[i]:=subs(sol1,p=p[i],pv1=p1_,pv2=p2_,dat,xl1);pl1:=[op(pl1),[xv1_[i],p[i]]];pl2:=[op(pl2),[xl1_[i],p[i]]];print(p[i],xv1_[i],xl1_[i]);od:pl1:=[op(pl1),[0,p2_]]:pl2:=[op(pl2),[0,p2_]]:#plot(subs(SI0,{pl1,pl2,[[1,0],[1,500e3]]}),x=0..1,'p'=0..500e3,color=black);

p1 = `+`(`*`(0.47e6, `*`(Pa_)))

p2 = `+`(`*`(0.10e6, `*`(Pa_)))

`+`(`*`(397185.6815, `*`(Pa_))), .9483673535, .7999999999

`+`(`*`(323523.9461, `*`(Pa_))), .8732226887, .5999999999

`+`(`*`(249862.2107, `*`(Pa_))), .7537713132, .3999999998

`+`(`*`(176200.4753, `*`(Pa_))), .5344451151, .1999999998

20 ºC.

> p1_:=evalf(subs(dat,pv1(T2))):'p1'=evalf(%,2);p2_:=evalf(subs(dat,pv2(T2))):'p2'=evalf(%,2);N:=5:pl1_:=[[1,p1_]]:pl2_:=[[1,p1_]]:for i from 1 to N-1 do p[i]:=p1_+(p2_-p1_)*(i/N);xv1_[i]:=subs(sol1,p=p[i],pv1=p1_,pv2=p2_,dat,xv1);xl1_[i]:=subs(sol1,p=p[i],pv1=p1_,pv2=p2_,dat,xl1);pl1_:=[op(pl1_),[xv1_[i],p[i]]];pl2_:=[op(pl2_),[xl1_[i],p[i]]];print(p[i],xv1_[i],xl1_[i]);od:pl1_:=[op(pl1_),[0,p2_]]:pl2_:=[op(pl2_),[0,p2_]]:

p1 = `+`(`*`(0.83e6, `*`(Pa_)))

p2 = `+`(`*`(0.21e6, `*`(Pa_)))

`+`(`*`(703632.3743, `*`(Pa_))), .9409979825, .8000000001

`+`(`*`(579618.9429, `*`(Pa_))), .8567481955, .6000000001

`+`(`*`(455605.5113, `*`(Pa_))), .7266337082, .3999999999

`+`(`*`(331592.0799, `*`(Pa_))), .4991951592, .1999999999

50 ºC

> p1_:=evalf(subs(dat,pv1(T3))):'p1'=evalf(%,2);p2_:=evalf(subs(dat,pv2(T3))):'p2'=evalf(%,2);N:=5:pl1__:=[[1,p1_]]:pl2__:=[[1,p1_]]:for i from 1 to N-1 do p[i]:=p1_+(p2_-p1_)*(i/N);xv1_[i]:=subs(sol1,p=p[i],pv1=p1_,pv2=p2_,dat,xv1);xl1_[i]:=subs(sol1,p=p[i],pv1=p1_,pv2=p2_,dat,xl1);pl1__:=[op(pl1__),[xv1_[i],p[i]]];pl2__:=[op(pl2__),[xl1_[i],p[i]]];print(p[i],xv1_[i],xl1_[i]);od:pl1__:=[op(pl1__),[0,p2_]]:pl2__:=[op(pl2__),[0,p2_]]:

p1 = `+`(`*`(0.17e7, `*`(Pa_)))

p2 = `+`(`*`(0.50e6, `*`(Pa_)))

`+`(`*`(1438735.477, `*`(Pa_))), .9305232998, .7999999998

`+`(`*`(1203999.849, `*`(Pa_))), .8339558043, .5999999998

`+`(`*`(969264.2210, `*`(Pa_))), .6906150329, .3999999998

`+`(`*`(734528.5930, `*`(Pa_))), .4556585323, .1999999998

> plot(subs(SI0,{pl1,pl2,pl1_,pl2_,pl1__,pl2__,[[1,0],[1,2e6]]}),x=0..1,'p'=0..2e6,color=black);

Plot_2d

b) Diagrama T-x a 10 kPa, 100 kPa y 1000 kPa.

> p0:=p1:T1:=evalf(subs(dat,solve(p0=pv1(T),T)));T2:=evalf(subs(dat,solve(p0=pv2(T),T)));N:=5:pl1:=[[1,T1]]:pl2:=[[1,T1]]:for i from 1 to N-1 do T[i]:=T1+(T2-T1)*(i/N);pv1_:=pv1(T[i]);pv2_:=pv2(T[i]);xv1_[i]:=subs(sol1,p=p0,pv1=pv1_,pv2=pv2_,dat,xv1);xl1_[i]:=subs(sol1,p=p0,pv1=pv1_,pv2=pv2_,dat,xl1);pl1:=[op(pl1),[xv1_[i],T[i]]];pl2:=[op(pl2),[xl1_[i],T[i]]];print(T[i],pv1_,pv2_,xv1_[i],xl1_[i]);od:pl1:=[op(pl1),[0,T2]]:pl2:=[op(pl2),[0,T2]]:

`:=`(T1, `+`(`*`(189.2914504, `*`(K_))))

`:=`(T2, `+`(`*`(224.1363178, `*`(K_))))

`+`(`*`(196.2604239, `*`(K_))), `+`(`*`(15911.62175, `*`(Pa_))), `+`(`*`(1447.130963, `*`(Pa_))), .9408559140, .5913010808

`+`(`*`(203.2293974, `*`(K_))), `+`(`*`(24414.36919, `*`(Pa_))), `+`(`*`(2485.428079, `*`(Pa_))), .8366274149, .3426782845

`+`(`*`(210.1983708, `*`(K_))), `+`(`*`(36272.36875, `*`(Pa_))), `+`(`*`(4095.805372, `*`(Pa_))), .6655748849, .1834936366

`+`(`*`(217.1673443, `*`(K_))), `+`(`*`(52363.62244, `*`(Pa_))), `+`(`*`(6505.866316, `*`(Pa_))), .3989848446, 0.7619504268e-1

a)•100 kPa

> p0:=p2:T1:=evalf(subs(dat,solve(p0=pv1(T),T)));T2:=evalf(subs(dat,solve(p0=pv2(T),T)));N:=5:pl1_:=[[1,T1]]:pl2_:=[[1,T1]]:for i from 1 to N-1 do T[i]:=T1+(T2-T1)*(i/N);pv1_:=pv1(T[i]);pv2_:=pv2(T[i]);xv1_[i]:=subs(sol1,p=p0,pv1=pv1_,pv2=pv2_,dat,xv1);xl1_[i]:=subs(sol1,p=p0,pv1=pv1_,pv2=pv2_,dat,xl1);pl1_:=[op(pl1_),[xv1_[i],T[i]]];pl2_:=[op(pl2_),[xl1_[i],T[i]]];print(T[i],pv1_,pv2_,xv1_[i],xl1_[i]);od:pl1_:=[op(pl1_),[0,T2]]:pl2_:=[op(pl2_),[0,T2]]:

`:=`(T1, `+`(`*`(230.8149928, `*`(K_))))

`:=`(T2, `+`(`*`(272.3444382, `*`(K_))))

`+`(`*`(239.1208819, `*`(K_))), `+`(`*`(142382.5589, `*`(Pa_))), `+`(`*`(22893.53875, `*`(Pa_))), .9187969945, .6453016447

`+`(`*`(247.4267710, `*`(K_))), `+`(`*`(197445.6757, `*`(Pa_))), `+`(`*`(34510.44321, `*`(Pa_))), .7936055075, .4019361300

`+`(`*`(255.7326600, `*`(K_))), `+`(`*`(267430.7146, `*`(Pa_))), `+`(`*`(50488.76317, `*`(Pa_))), .6103395569, .2282234326

`+`(`*`(264.0385491, `*`(K_))), `+`(`*`(354661.7151, `*`(Pa_))), `+`(`*`(71914.48358, `*`(Pa_))), .3522884157, 0.9933082729e-1

a)•1000 kPa

> p0:=p3:T1:=evalf(subs(dat,solve(p0=pv1(T),T)));T2:=evalf(subs(dat,solve(p0=pv2(T),T)));N:=5:pl1__:=[[1,T1]]:pl2__:=[[1,T1]]:for i from 1 to N-1 do T[i]:=T1+(T2-T1)*(i/N);pv1_:=pv1(T[i]);pv2_:=pv2(T[i]);xv1_[i]:=subs(sol1,p=p0,pv1=pv1_,pv2=pv2_,dat,xv1);xl1_[i]:=subs(sol1,p=p0,pv1=pv1_,pv2=pv2_,dat,xl1);pl1__:=[op(pl1__),[xv1_[i],T[i]]];pl2__:=[op(pl2__),[xl1_[i],T[i]]];print(T[i],pv1_,pv2_,xv1_[i],xl1_[i]);od:pl1__:=[op(pl1__),[0,T2]]:pl2__:=[op(pl2__),[0,T2]]:

`:=`(T1, `+`(`*`(300.4502816, `*`(K_))))

`:=`(T2, `+`(`*`(351.9438080, `*`(K_))))

`+`(`*`(310.7489869, `*`(K_))), `+`(`*`(1277935.833, `*`(Pa_))), `+`(`*`(357052.1441, `*`(Pa_))), .8922365699, .6981857359

`+`(`*`(321.0476922, `*`(K_))), `+`(`*`(1605481.348, `*`(Pa_))), `+`(`*`(474604.6820, `*`(Pa_))), .7458924643, .4645911741

`+`(`*`(331.3463974, `*`(K_))), `+`(`*`(1986261.856, `*`(Pa_))), `+`(`*`(618790.6149, `*`(Pa_))), .5537093857, .2787695812

`+`(`*`(341.6451027, `*`(K_))), `+`(`*`(2423557.304, `*`(Pa_))), `+`(`*`(792853.0829, `*`(Pa_))), .3078623439, .1270291169

> plot(subs(SI0,{pl1,pl2,pl1_,pl2_,pl1__,pl2__,[[1,0],[1,500]]}),x=0..1,'Temp'=0..400,color=black);

Plot_2d

>