> restart:#"m08_p19"

En un recipiente rígido de 5 litros hay inicialmente 4 litros de agua y 1 litro de aire en equilibrio a presión y temperatura ambiente. Se pide:
a) Composición de la fase gaseosa.
b) Temperatura interior que se alcanzaría al calentar hasta una presión de 200 kPa.
c) Suponiendo que una válvula de escape mantiene esa presión aunque se prosiga el calentamiento, indicar cómo variaría la composición en la fase gaseosa, calculándola para algunos valores de la temperatura alcanzada.

Datos:

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

> su1:="Aire":su2:="H2O":dat:=[Vtot=0.005*m_^3,Vliq1=0.004*m_^3,p2=200e3*Pa_];

`:=`(dat, [Vtot = `+`(`*`(0.5e-2, `*`(`^`(m_, 3)))), Vliq1 = `+`(`*`(0.4e-2, `*`(`^`(m_, 3)))), p2 = `+`(`*`(0.200e6, `*`(Pa_)))])

Esquema:

> `:=`(Sistemas, [aire, agua])

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

Eqs. const.:

> Adat:=get_gas_data(su1):Adat:=subs(c[p]=c[pa],R=R[a],M=M[a],T[b]=nada,[Adat]):Wgdat:=get_gas_data(su2):Wgdat:=subs(c[p]=c[pv],R=R[v],M=M[v],[Wgdat]):Wldat:=get_liq_data(su2):Wdat:=op(Wgdat),Wldat:get_pv_data(su2):dat:=op(dat),Const,SI2,SI1:

a) Composición de la fase gaseosa.

> T1:=T0:p1:=p0:phi1:=1;n1:=p1*(Vtot-Vliq1)/(R[u]*T1);n1_:=subs(dat,n1):'n1'=evalf(%,2);xv1:='phi1*pv(T1)/p1';xv1_:=subs(dat,evalf(subs(dat,phi1*pv(T1)/p1))):'xv1'=evalf(%,2);nv1:='xv1*n1';nv1_:=xv1_*n1_:'nv1'=evalf(%,1);na1:='n1-nv1';na1_:=n1_-nv1_:'na1'=evalf(%,2);w1_:=evalf(subs(dat,Adat,Wdat,w(phi1,T1,p1))):'w1'=evalf(%,2);

`:=`(phi1, 1)

`:=`(n1, `/`(`*`(p0, `*`(`+`(Vtot, `-`(Vliq1)))), `*`(R[u], `*`(T0))))

n1 = `+`(`*`(0.42e-1, `*`(mol_)))

`:=`(xv1, `/`(`*`(phi1, `*`(pv(T1))), `*`(p1)))

xv1 = 0.17e-1

`:=`(nv1, `*`(xv1, `*`(n1)))

nv1 = `+`(`*`(0.7e-3, `*`(mol_)))

`:=`(na1, `+`(n1, `-`(nv1)))

na1 = `+`(`*`(0.41e-1, `*`(mol_)))
w1 = 0.11e-1

b) Temperatura interior que se alcanzaría al calentar hasta una presión de 200 kPa.

> phi2:=1;na2:='na1';eq1:='nv2/(na2+nv2)=pv(T2)/p2';eq2:='p2=(na2+nv2)*R[u]*T2/(Vtot-Vliq1)';eq1_:=subs(SI0,subs(dat,nv2/(na1_+nv2)=pv(T2)/p2)):'eq1'=evalf(%,4);eq2_:=evalf(subs(SI0,subs(dat,eq2))):'eq2'=evalf(%,4);sol1:=fsolve({eq1_,eq2_},{nv2,T2},{T2=300..500});T2_:=subs(sol1,T2)*K_:'T2'=evalf(%,3);nv2_:=subs(sol1,nv2)*mol_:'nv2'=evalf(%,2);

`:=`(phi2, 1)

`:=`(na2, na1)

`:=`(eq1, `/`(`*`(nv2), `*`(`+`(na2, nv2))) = `/`(`*`(pv(T2)), `*`(p2)))

`:=`(eq2, p2 = `/`(`*`(`+`(na2, nv2), `*`(R[u], `*`(T2))), `*`(`+`(Vtot, `-`(Vliq1)))))

eq1 = (`/`(`*`(nv2), `*`(`+`(0.4105e-1, nv2))) = `+`(`*`(0.5000e-2, `*`(exp(`+`(16.54, `-`(`/`(`*`(3985.), `*`(`+`(T2, `-`(39.00)))))))))))

eq2 = (0.200e6 = `+`(`*`(8314., `*`(`+`(0.4105e-1, nv2), `*`(T2)))))
`:=`(sol1, {T2 = 365.1697738, nv2 = 0.2482592134e-1})

T2 = `+`(`*`(365., `*`(K_)))

nv2 = `+`(`*`(0.25e-1, `*`(mol_)))

c) Suponiendo que una válvula de escape mantiene esa presión aunque se prosiga el calentamiento, indicar cómo variaría la composición en la fase gaseosa, calculándola para algunos valores de la temperatura alcanzada.

> phi3:=1;p3:=p2;eq1:='nv3/(na3+nv3)=pv(T3)/p3';eq2:='p3=(na3+nv3)*R[u]*T3/(Vtot-Vliq1)';eq1_:=subs(SI0,subs(dat,nv3/(na3+nv3)=pv(T3)/p3)):'eq1'=evalf(%,4);eq2_:=evalf(subs(SI0,subs(dat,eq2))):'eq2'=evalf(%,4);  for i from 1 to 6 do T3[i]:=(365+5*i)*K_;eq1[i]:=subs(T3=T3[i]/K_,eq1_):eq2[i]:=subs(T3=T3[i]/K_,eq2_):sol:=fsolve({eq1[i],eq2[i]},{nv3,na3}):nv3[i]:=evalf(subs(sol,nv3),2)*mol_:na3[i]:=evalf(subs(sol,na3)*mol_,2);print('T3[i]'=T3[i],'nv3[i]'=nv3[i],'na3[i]'=na3[i]);od:

`:=`(phi3, 1)

`:=`(p3, p2)

`:=`(eq1, `/`(`*`(nv3), `*`(`+`(na3, nv3))) = `/`(`*`(pv(T3)), `*`(p3)))

`:=`(eq2, p3 = `/`(`*`(`+`(na3, nv3), `*`(R[u], `*`(T3))), `*`(`+`(Vtot, `-`(Vliq1)))))

eq1 = (`/`(`*`(nv3), `*`(`+`(na3, nv3))) = `+`(`*`(0.5000e-2, `*`(exp(`+`(16.54, `-`(`/`(`*`(3985.), `*`(`+`(T3, `-`(39.00)))))))))))

eq2 = (0.200e6 = `+`(`*`(8314., `*`(`+`(na3, nv3), `*`(T3)))))

T3[i] = `+`(`*`(370, `*`(K_))), nv3[i] = `+`(`*`(0.29e-1, `*`(mol_))), na3[i] = `+`(`*`(0.36e-1, `*`(mol_)))

T3[i] = `+`(`*`(375, `*`(K_))), nv3[i] = `+`(`*`(0.35e-1, `*`(mol_))), na3[i] = `+`(`*`(0.30e-1, `*`(mol_)))

T3[i] = `+`(`*`(380, `*`(K_))), nv3[i] = `+`(`*`(0.41e-1, `*`(mol_))), na3[i] = `+`(`*`(0.23e-1, `*`(mol_)))

T3[i] = `+`(`*`(385, `*`(K_))), nv3[i] = `+`(`*`(0.47e-1, `*`(mol_))), na3[i] = `+`(`*`(0.15e-1, `*`(mol_)))

T3[i] = `+`(`*`(390, `*`(K_))), nv3[i] = `+`(`*`(0.55e-1, `*`(mol_))), na3[i] = `+`(`*`(0.65e-2, `*`(mol_)))

T3[i] = `+`(`*`(395, `*`(K_))), nv3[i] = `+`(`*`(0.64e-1, `*`(mol_))), na3[i] = `+`(`-`(`*`(0.30e-2, `*`(mol_))))

> plot([[T3[1]/K_,na3[1]/mol_],[T3[2]/K_,na3[2]/mol_],[T3[3]/K_,na3[3]/mol_],[T3[4]/K_,na3[4]/mol_],[T3[5]/K_,na3[5]/mol_]],color=black,labels=["T(K_)","na(mol_)"]);

Plot_2d

>