> restart:#"m08_p26"

A una corriente de aire en condiciones ambiente de 0 ºC, 90 kPa y 80% de humedad relativa (estado A), se le añade un flujo de vapor de agua a 500 ºC y esa misma presión (estado B), saliendo la mezcla también a esa presión (estado C).  Sea m la relación de gastos másicos de las corrientes de vapor y aire Se pide:
a) Determinar las densidades en los estados A y B.
b) Supóngase que el estado C consiste sólo en aire húmedo saturado y determínese la humedad absoluta y la temperatura correspondiente en función de m (con aplicación numérica para m=10-3, 10-2, 10-1 y 1).
c) Establecer el balance energético y calcular el intercambio térmico que sería necesario para que se cumpliera la hipótesis anterior (calor a aportar por unidad de gasto másico de aire seco).
d) Sabiendo que el proceso real es rápido, indicar cómo se determinaría realmente el estado C.
Datos:

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

> su1:="Aire":su2:="H2O":dat:=[T0=(0+273)*K_,p0=90e3*Pa_,phi0=0.8,T2=(500+273)*K_];with(plots):

`:=`(dat, [T0 = `+`(`*`(273, `*`(K_))), p0 = `+`(`*`(0.90e5, `*`(Pa_))), phi0 = .8, T2 = `+`(`*`(773, `*`(K_)))])
Warning, the name changecoords has been redefined

Image

Esquema:

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

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

Eqs. const.:

> eqET:=eq1_12;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:

`:=`(eqET, rho = `/`(`*`(p), `*`(R, `*`(T))))

a) Determinar las densidades en los estados A y B

> eqBMw:=w1+mu=w3;eqBE:=h1+mu*h2+q=h3;rho1:=subs(dat,subs(p=p0,T=T0,R=R[a],dat,Adat,rhs(eqET))):'rho1'=evalf(%,2);rho2:=subs(dat,subs(p=p0,T=T2,R=R[v],dat,Wdat,rhs(eqET))):'rho2'=evalf(%,2);w1_:=evalf(subs(dat,w(phi0,T0,p0))):'w1'=evalf(%,2);Tr1_:=solve(subs(dat,pv(T)=phi0*pv(T0)),T):'Tr1'=evalf(%,3);Tr1_C:=(Tr1_/K_-273)*`ºC`:'Tr1_C'=evalf(%,2);h1_:=subs(dat,Adat,Wdat,T=T0,dat,h(T,w1_)):'h1'=evalf(%/(1e3*J_/kJ_),2);h2_:=subs(c[p]=c[pv],dat,Wdat,T=T2,dat,hv(T)):'h2'=evalf(%/(1e6*J_/MJ_),2);

`:=`(eqBMw, `+`(w1, mu) = w3)

`:=`(eqBE, `+`(h1, `*`(mu, `*`(h2)), q) = h3)

rho1 = `+`(`/`(`*`(1.1, `*`(kg_)), `*`(`^`(m_, 3))))

rho2 = `+`(`/`(`*`(.25, `*`(kg_)), `*`(`^`(m_, 3))))

w1 = 0.34e-2

Tr1 = `+`(`*`(270., `*`(K_)))

Tr1_C = `+`(`-`(`*`(3.0, `*`(`?`))))
h1 = `+`(`/`(`*`(8.5, `*`(kJ_)), `*`(kg_)))

h2 = `+`(`/`(`*`(3.4, `*`(MJ_)), `*`(kg_)))

b) Supóngase que el estado C consiste sólo en aire húmedo saturado y determínese la humedad absoluta y la temperatura correspondiente en función de m (con aplicación numérica para m=10-3, 10-2  y 10-1 .

> 'phi3'=1;w3:=subs(dat,w(1,T,p0));eqBMw_:=subs(w1=w1_,dat,eqBMw);T3_:=solve(eqBMw_,T):w3_:=subs(T=T3_,w3):eqBE_:=subs(h1=h1_,h2=h2_,h3=h(T,w3),mu=mu_,Adat,Wdat,dat,eqBE);q_:=subs(T=T3_,mu_=mu,dat,dat,solve(eqBE_,q)):for mu in [1e-4,1e-3,1e-2,1e-1] do print('mu'=mu,'T3'=evalf(T3_,3),'w3'=evalf(w3_,2),'q'=evalf(q_,2));od:

phi3 = 1

`:=`(w3, `+`(`/`(`*`(.6228373702), `*`(`+`(`/`(`*`(90.00000000), `*`(exp(`+`(16.54, `-`(`/`(`*`(3985.), `*`(`+`(`/`(`*`(T), `*`(K_)), `-`(39.00))))))))), `-`(1))))))

`:=`(eqBMw_, `+`(0.3410567184e-2, mu) = `+`(`/`(`*`(.6228373702), `*`(`+`(`/`(`*`(90.00000000), `*`(exp(`+`(16.54, `-`(`/`(`*`(3985.), `*`(`+`(`/`(`*`(T), `*`(K_)), `-`(39.00))))))))), `-`(1))))))

`:=`(eqBE_, `+`(`/`(`*`(8476.814670, `*`(J_)), `*`(kg_)), `/`(`*`(3435456.0, `*`(mu_, `*`(`^`(m_, 2)))), `*`(`^`(s_, 2))), q) = `+`(`/`(`*`(1004., `*`(`^`(m_, 2), `*`(`+`(T, `-`(`*`(273., `*`(K_))))))...
`:=`(eqBE_, `+`(`/`(`*`(8476.814670, `*`(J_)), `*`(kg_)), `/`(`*`(3435456.0, `*`(mu_, `*`(`^`(m_, 2)))), `*`(`^`(s_, 2))), q) = `+`(`/`(`*`(1004., `*`(`^`(m_, 2), `*`(`+`(T, `-`(`*`(273., `*`(K_))))))...

mu = 0.1e-3, T3 = `+`(`*`(271., `*`(K_))), w3 = 0.68e-2, q = `+`(`-`(`/`(`*`(0.11e5, `*`(`^`(m_, 2))), `*`(`^`(s_, 2)))))

mu = 0.1e-2, T3 = `+`(`*`(274., `*`(K_))), w3 = 0.68e-2, q = `+`(`-`(`/`(`*`(0.15e5, `*`(`^`(m_, 2))), `*`(`^`(s_, 2)))))

mu = 0.1e-1, T3 = `+`(`*`(291., `*`(K_))), w3 = 0.19e-1, q = `+`(`/`(`*`(0.36e4, `*`(`^`(m_, 2))), `*`(`^`(s_, 2))))

mu = .1, T3 = `+`(`*`(325., `*`(K_))), w3 = 0.51e-1, q = `+`(`-`(`/`(`*`(0.15e6, `*`(`^`(m_, 2))), `*`(`^`(s_, 2)))))

c) Establecer el balance energético y calcular el intercambio térmico que sería necesario para que se cumpliera la hipótesis anterior (calor a aportar por unidad de gasto másico de aire seco).

> mu:='mu':n:=30:arr:=array(1..n,1..4):for i from 1 to n do pmu:=-4+3*((i-1)/(n-1));mu:=10^pmu;arr[i,1]:=mu;arr[i,2]:=T3_/K_-273;arr[i,3]:=subs(SI0,q_/1000);arr[i,4]:=w3_*1000;od:plot([pla(arr,2,1),pla(arr,3,1),pla(arr,4,1),100],'mu'=0..0.1,-10..100,color=black);mu:='mu':mu_q_0:=fsolve(subs(T=T3_,SI0,q_)=0,mu=0..0.01):'mu_q_0'=evalf(%,2);mu_q_0:=fsolve(subs(T=T3_,SI0,q_)=0,mu=0.01..0.1):'mu_q_0'=evalf(%,2);

Plot_2d
mu_q_0 = 0.12e-2

mu_q_0 = 0.42e-1

d) Sabiendo que el proceso real es rápido, indicar cómo se determinaría realmente el estado C

Entonces q=0 y saldrá sin saturar si cuando antes daba q<0 o sobresaturado si q>0.

Si no se saturara:

> h3_:=h1_+mu*h2_:'h3'=evalf(%,2);w3_:=w1_+mu:'w3_'=evalf(%,2);T3_:=subs(dat,solve(subs(mu=mu_,Adat,Wdat,dat,mu_=mu,h3_=h(T,w3_)),T)):'T3'=evalf(%,2);phi3_:=subs(mu=mu_,Wdat,dat,mu_=mu,phi(w3_,T3_,p0)):for mu in [1e-4,1e-3,1e-2,1e-1] do print('mu'=mu,'T3'=evalf(T3_,3),'w3'=evalf(w3_,2),'phi3'=evalf(phi3_,2));od: n:=30:arr:=array(1..n,1..5):for i from 1 to n do pmu:=-4+3*((i-1)/(n-1));mu:=10^pmu;arr[i,1]:=mu;arr[i,2]:=evalf(T3_/K_-273);arr[i,3]:=phi3_*100;arr[i,4]:=(w1_+mu)*1000;arr[i,5]:=0:od:mu:='mu':mu_phi_1:=fsolve(subs(SI0,phi3_=1),mu=0..0.01):'mu_phi_1'=evalf(%,2);mu_phi_1:=fsolve(subs(SI0,phi3_=1),mu=0.01..0.1):'mu_phi_1'=evalf(%,2);pl1:=plot([pla(arr,2,1),pla(arr,3,1),pla(arr,4,1)],'mu'=0..0.1,0..100,color=black):

h3 = `+`(`/`(`*`(0.85e4, `*`(J_)), `*`(kg_)), `/`(`*`(0.34e7, `*`(mu, `*`(J_))), `*`(kg_)))

w3_ = `+`(0.34e-2, mu)

T3 = `+`(`-`(`/`(`*`(0.40e-1, `*`(K_, `*`(`+`(`-`(`*`(0.43e16, `*`(`^`(m_, 2), `*`(kg_)))), `-`(`*`(0.23e17, `*`(mu, `*`(`^`(m_, 2), `*`(kg_))))))))), `*`(`^`(m_, 2), `*`(kg_, `*`(`+`(0.63e12, `*`(0.1...

mu = 0.1e-3, T3 = `+`(`*`(273., `*`(K_))), w3 = 0.35e-2, phi3 = .50

mu = 0.1e-2, T3 = `+`(`*`(274., `*`(K_))), w3 = 0.44e-2, phi3 = .64

mu = 0.1e-1, T3 = `+`(`*`(282., `*`(K_))), w3 = 0.13e-1, phi3 = 1.8

mu = .1, T3 = `+`(`*`(352., `*`(K_))), w3 = .10, phi3 = .22

mu_phi_1 = 0.12e-2
mu_phi_1 = 0.42e-1

A partir de mu=mu_phi_1 se satura y entonces:

> arr_:=array(1..n,1..5):arr_:=evalm(arr):w3:='w3':w3_:=subs(dat,w(1,T,p0));h3_:=subs(dat,Adat,Wdat,h(T,w3_));eqBMw:=w1+mu=w3+beta;beta_:=w1_+mu-w3_;eqBE:=h1+lambda*h2=h3+beta*h4;h4_:=subs(dat,Wdat,c*(T-T[tr]));for mu in [1e-4,1e-3,1e-2,1e-1] do mu_:=mu:T3_:=fsolve(subs(mu=mu_,dat,Adat,Wdat,SI0,h1_+mu_*h2_=h3_+beta_*h4_),T=200..500)*K_:'T3'=evalf(%,3);w3__:=evalf(subs(dat,T=T3_,w3_)):'w3'=evalf(%,2);beta__:=w1_+mu-w3__:'beta'=evalf(%,2);phi3_:=subs(dat,phi(w3__,T3_,p0)):'phi3'=evalf(%,3);beta__:=evalf(subs(T=T3_,beta_));print('mu'=mu,'T3'=evalf(T3_,3),'w3'=evalf(w3__,2),'beta'=evalf(beta__,2));od:mu:='mu':

`:=`(w3_, `+`(`/`(`*`(.6228373702), `*`(`+`(`/`(`*`(90.00000000), `*`(exp(`+`(16.54, `-`(`/`(`*`(3985.), `*`(`+`(`/`(`*`(T), `*`(K_)), `-`(39.00))))))))), `-`(1))))))

`:=`(h3_, `+`(`/`(`*`(1004., `*`(J_, `*`(`+`(T, `-`(`*`(273., `*`(K_))))))), `*`(kg_, `*`(K_))), `/`(`*`(.6228373702, `*`(`+`(`/`(`*`(2485456.0, `*`(J_)), `*`(kg_)), `/`(`*`(1900., `*`(J_, `*`(`+`(T, ...

`:=`(eqBMw, `+`(w1, mu) = `+`(w3, beta))

`:=`(beta_, `+`(0.3410567184e-2, mu, `-`(`/`(`*`(.6228373702), `*`(`+`(`/`(`*`(90.00000000), `*`(exp(`+`(16.54, `-`(`/`(`*`(3985.), `*`(`+`(`/`(`*`(T), `*`(K_)), `-`(39.00))))))))), `-`(1)))))))

`:=`(eqBE, `+`(h1, `*`(lambda, `*`(h2))) = `+`(h3, `*`(beta, `*`(h4))))

`:=`(h4_, `+`(`/`(`*`(4180., `*`(J_, `*`(`+`(T, `-`(`*`(273.16, `*`(K_))))))), `*`(kg_, `*`(K_)))))

mu = 0.1e-3, T3 = `+`(`*`(272., `*`(K_))), w3 = 0.40e-2, beta = -0.45e-3

mu = 0.1e-2, T3 = `+`(`*`(274., `*`(K_))), w3 = 0.45e-2, beta = -0.89e-4

mu = 0.1e-1, T3 = `+`(`*`(287., `*`(K_))), w3 = 0.11e-1, beta = 0.20e-2

mu = .1, T3 = `+`(`*`(326., `*`(K_))), w3 = .12, beta = -0.13e-1

> for i from 1 to n do mu:=1e-4+(1e-1-1e-4)*((i-1)/(n-1));T3_:=fsolve(subs(mu=mu_,dat,Adat,Wdat,SI0,mu_=mu,h1_+mu*h2_=h3_+beta_*h4_),T=273..373)*K_;w3__:=evalf(subs(dat,T=T3_,w3_));beta__:=w1_+mu-w3__;arr[i,1]:=mu;arr[i,2]:=T3_/K_-273;arr[i,3]:=w3__*1000;arr[i,4]:=beta__*1000;arr[i,5]:=100:od:pl2:=plot([pla(arr,2,1),pla(arr,3,1),pla(arr,4,1),pla(arr,5,1)],'mu'=0..0.1,0..100,color=black):display([pl1,pl2]);

Plot_2d

Es decir, desde 0 hasta 0,001 sale no saturado, desde 0,001 hasta 0,05 saturado y a partir de 0,05 no saturado.

>