> | restart:#"m08_p27" |
Se propone el siguiente modelo para analizar un accidente en una sala de máquinas. Un recinto cerrado de 100 m3, conteniendo aire a 27 ºC, 99 kPa y 80% de humedad, recibe la descarga súbita de un depósito de 2 m3 conteniendo vapor a 300 ºC y 1 MPa. Se pide:
a) Cantidad de vapor de agua, temperatura de rocío y temperatura de saturación adiabática iniciales del recinto.
b) Estimar el estado termodinámico en el depósito de vapor tras la descarga y la masa de agua que escapa.
c) Enumerar las variables independientes que se van a usar para determinar el estado termodinámico final del recinto y las ecuaciones de ligadura a que van a estar sujetas.
d) Resolver el apartado anterior y comentar la posible fatalidad del accidente teniendo en cuenta que en tales situaciones se estima en 2 minutos el tiempo necesario de evacuación, y resulta mortal respirar durante ese tiempo (dos o tres bocanadas) una atmósfera saturada a más de 50 ºC
Datos:
> | read"../therm_eq.m":read"../therm_proc.m":with(therm_proc): |
> | su1:="Aire":su2:="H2O":dat:=[V1=100*m_^3,T0=(27+273)*K_,p0=99e3*Pa_,phi0=0.8,V2=2*m_^3,T1=(300+273)*K_,p1=1e6*Pa_]; |
![]() |
Esquema:
> | ![]() |
> | ![]() |
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) Cantidad de vapor de agua, temperatura de rocío y temperatura de saturación adiabática iniciales del recinto.
> | ma:=p0*V1/(R[a]*T0);ma_:=subs(dat,Adat,dat,ma):'ma'=evalf(%,2);na_:=subs(Adat,ma_/M[a]):'na'=evalf(%,2);w0_:=evalf(subs(dat,w(phi0,T0,p0))):'w0'=evalf(%,3);mw0_:=ma_*w0_:'mw0'=evalf(%,4);nw0_:=subs(Wdat,mw0_/M[v]):'nw0'=evalf(%,3);Tr_:=solve(w0_=subs(dat,w(1,T,p0)),T):'Tr'=evalf(%,3);Tr_C:=(Tr_/K_-273)*`ºC`:'Tr_C'=evalf(%,3);Tad_:=fsolve(subs(dat,Adat,Wdat,SI0,c[pa]*(T0-T0)+w0_*h[lv0]=c[pa]*(T-T0)+w(1,T,p0)*h[lv0]),T=200..400)*K_:'Tad'=evalf(%,3);Tad_C:=(Tad_/K_-273)*`ºC`:'Tad_C'=evalf(%,3); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
b) Estimar el estado termodinámico en el depósito de vapor tras la descarga y la masa de agua que escapa.
Inicialmente todo es vapor ya que:
> | pvT1:=subs(dat,evalf(subs(dat,pv(T1)))):'pvT1'=evalf(%/(1e6*Pa_/MPa_),2); |
![]() |
La descarga será isoentrópica hasta la pfinal>p0. Si pfinal=p0:
> | m1_:=subs(dat,subs(dat,Wdat,p1*V2/(R[v]*T1))):'m1'=evalf(%,2);s1_:=subs(m_^2=J_*s_^2/kg_,evalf(subs(c[p]=c[pv],R=R[v],dat,Wdat,T=T1,p=p1,dat,sv(T,p)))):'s1'=evalf(%,2);h1_:=evalf(subs(c[p]=c[pv],dat,Wdat,T=T1,dat,hv(T))):'h1'=evalf(%/(1e6*J_/MJ_),2);T1final:=T1*(p0/p1)^((gamma-1)/gamma);T1final_:=subs(dat,Wdat,T1final):'T1final'=evalf(%,3); |
![]() |
![]() |
![]() |
![]() |
![]() |
luego se llegará a formar mezcla bifásica en la botella y T1final=Tvp1final.
Si pfinal=p0:
> | p1f_:=subs(dat,p0);T1f_:=(subs(dat,Wdat,solve(p1f_=pv(T),T))):'T1f'=evalf(%,3);eq1:=s1=sl1*(1-x1)+sv1*x1;sv1_:=subs(dat,evalf(subs(c[p]=c[pv],R=R[v],dat,Wdat,T=T1f_,p=p1f_,dat,sv(T,p)))):'sv1'=evalf(%,2);sl1_:=subs(dat,evalf(subs(c[p]=c[pv],dat,Wdat,T=T1f_,dat,sl(T)))):'sl1'=evalf(%,2);x1f_:=solve(s1_=sl1_*(1-x1)+sv1_*x1,x1):'x1f'=evalf(%,2);eq2:=V2/m=vl1*(1-x1)+vv1*x1;m1f_:=subs(dat,solve(subs(dat,Wdat,V2/m=(1/rho)*(1-x1f_)+(R[v]*T1f_/p1f_)*x1f_),m)):'m1f'=evalf(%,2);Dm1_:=m1_-m1f_:evalf(%,2);w2f_:=(mw0_+Dm1_)/ma_:'w2f'=evalf(%,2); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
c) Enumerar las variables independientes que se van a usar para determinar el estado termodinámico final del recinto y las ecuaciones de ligadura a que van a estar sujetas.
Supongo que no condensa el vapor en la sala. Elijo como variables independientes p2f y T2f. Las ecuaciones son:
> | p2f:=p1f;eqBM:=p2f*V1=(na+nw0+Dnw)*R[u]*T2f;eqBEtot:=U1f+U2f=U1+U2;eqBEtot:=(H1f-p1f*V2)+(H2f-p2f*V1)=(H1-p1*V2)+(H2-p2*V1);H1f_:=subs(dat,m1f_*(evalf(subs(c[p]=c[pv],dat,Wdat,T=T1f_,dat,hl(T)))*(1-x1f_)+evalf(subs(c[p]=c[pv],R=R[v],dat,Wdat,T=T1f_,dat,hv(T)))*x1f_)):'H1f'=evalf(%/(1e6*J_/MJ_),2);H2f_:=subs(dat,Adat,Wdat,ma_*h(T,w2f_));H2_:=subs(dat,Adat,Wdat,T=T0,dat,ma_*h(T,w0_)):'H2'=evalf(%/(1e6*J_/MJ_),2);T2f_:=subs(dat,solve(subs(dat,(H1f_-p1f_*V2)+(H2f_-p1f_*V1)=(m1_*h1_-p1*V2)+(H2_-p0*V1)),T)):'T2f'=evalf(%,3);eqBM_:=subs(dat,Wdat,p2f_*V1=(na_+nw0_+Dm1_/M[v])*R[u]*T2f_);p2f__:=subs(dat,solve(eqBM_,p2f_)):'p2'=evalf(%,3); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
resultado > esperado, luego hay que iterar.
> | p1f_:=subs(dat,p2f__):'p1f'=evalf(%,3);T1f_:=(subs(dat,Wdat,solve(p1f_=pv(T),T))):'T1f'=evalf(%,3);eq1:=s1=sl1*(1-x1)+sv1*x1;sv1_:=subs(dat,evalf(subs(c[p]=c[pv],R=R[v],dat,Wdat,T=T1f_,p=p1f_,dat,sv(T,p)))):'sv1'=evalf(%,2);sl1_:=subs(dat,evalf(subs(c[p]=c[pv],dat,Wdat,T=T1f_,dat,sl(T)))):'sl1'=evalf(%,2);x1f_:=solve(s1_=sl1_*(1-x1)+sv1_*x1,x1):'x1f'=evalf(%,3);eq2:=V2/m=vl1*(1-x1)+vv1*x1;m1f_:=subs(dat,solve(subs(dat,Wdat,V2/m=(1/rho)*(1-x1f_)+(R[v]*T1f_/p1f_)*x1f_),m)):'m1f'=evalf(%,3);Dm1_:=m1_-m1f_:'Dm1'=evalf(%,3);w2f_:=(mw0_+Dm1_)/ma_:'w2f'=evalf(%,2); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
> | p2f:=p1f;eqBM:=p2f*V1=(na+nw0+Dnw)*R[u]*T2f;eqBEtot:=U1f+U2f=U1+U2;eqBEtot:=(H1f-p1f*V2)+(H2f-p2f*V1)=(H1-p1*V2)+(H2-p2*V1);H1f_:=subs(dat,m1f_*(evalf(subs(c[p]=c[pv],dat,Wdat,T=T1f_,dat,hl(T)))*(1-x1f_)+evalf(subs(c[p]=c[pv],R=R[v],dat,Wdat,T=T1f_,dat,hv(T)))*x1f_)):'H1f'=evalf(%/(1e6*J_/MJ_),2);H2f_:=subs(dat,Adat,Wdat,ma_*h(T,w2f_));H2_:=subs(dat,Adat,Wdat,T=T0,dat,ma_*h(T,w0_)):'H2f'=evalf(%/(1e6*J_/MJ_),2);T2f_:=subs(dat,solve(subs(dat,(H1f_-p1f_*V2)+(H2f_-p1f_*V1)=(m1_*h1_-p1*V2)+(H2_-p0*V1)),T)):'T2f'=evalf(%,3);eqBM_:=subs(dat,Wdat,p2f_*V1=(na_+nw0_+Dm1_/M[v])*R[u]*T2f_);p2f__:=subs(dat,solve(eqBM_,p2f_)):'p2f'=evalf(%,3); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
otra vez:
> | p1f_:=subs(dat,p2f__):'p1f'=evalf(%,3);T1f_:=(subs(dat,Wdat,solve(p1f_=pv(T),T))):'T1f'=evalf(%,3);eq1:=s1=sl1*(1-x1)+sv1*x1;sv1_:=subs(m_^2=J_*s_^2/kg_,evalf(subs(c[p]=c[pv],R=R[v],dat,Wdat,T=T1f_,p=p1f_,dat,sv(T,p)))):'sv1'=evalf(%,4);sl1_:=subs(m_^2=J_*s_^2/kg_,evalf(subs(c[p]=c[pv],dat,Wdat,T=T1f_,dat,sl(T)))):'sl1'=evalf(%,4);x1f_:=solve(s1_=sl1_*(1-x1)+sv1_*x1,x1):'x1'=evalf(%,3);eq2:=V2/m=vl1*(1-x1)+vv1*x1;m1f_:=subs(dat,solve(subs(dat,Wdat,V2/m=(1/rho)*(1-x1f_)+(R[v]*T1f_/p1f_)*x1f_),m)):'m1f'=evalf(%,3);Dm1_:=m1_-m1f_:'Dm1'=evalf(%,3);w2f_:=(mw0_+Dm1_)/ma_:'w2f'=evalf(%,3); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
> | p2f:=p1f;eqBM:=p2f*V1=(na+nw0+Dnw)*R[u]*T2f;eqBEtot:=U1f+U2f=U1+U2;eqBEtot:=(H1f-p1f*V2)+(H2f-p2f*V1)=(H1-p1*V2)+(H2-p2*V1);H1f_:=subs(dat,m1f_*(evalf(subs(c[p]=c[pv],dat,Wdat,T=T1f_,dat,hl(T)))*(1-x1f_)+evalf(subs(c[p]=c[pv],R=R[v],dat,Wdat,T=T1f_,dat,hv(T)))*x1f_)):'H1f'=evalf(%/(1e6*J_/MJ_),2);H2f_:=subs(dat,Adat,Wdat,ma_*h(T,w2f_));H2_:=subs(dat,Adat,Wdat,T=T0,dat,ma_*h(T,w0_)):'H2'=evalf(%/(1e6*J_/MJ_),2);T2f_:=subs(dat,solve(subs(dat,(H1f_-p1f_*V2)+(H2f_-p1f_*V1)=(m1_*h1_-p1*V2)+(H2_-p0*V1)),T)):'T2f'=evalf(%,3);eqBM_:=subs(dat,Wdat,p2f_*V1=(na_+nw0_+Dm1_/M[v])*R[u]*T2f_);p2f__:=subs(dat,solve(eqBM_,p2f_)):'p2f'=evalf(%,3); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ya puede valer.
> | T2f_C:=(T2f_/K_-273)*`ºC`:'T2f_C'=evalf(%,2);phi2f_:=subs(dat,phi(w2f_,T2f_,p2f__)):'phi2[f]'=evalf(%,2); |
![]() |
![]() |
Conclusión: aunque T>50 ºC, no está saturado. La humedad es tan pequeña que no hay problema de sofoco.
> |