> | restart:#"m08_p10" |
Para el acondicionamiento de verano de un local a 21 °C y 50% de humedad, estando el exterior a 35 °C de bulbo seco y 25 °C de bulbo húmedo, se utiliza un refrigerador para enfriar el aire y saturarlo, seguido de un calentador posterior. Sabiendo que el local recibe 20 kW y que se hace recircular el 80% del aire, el cual sale del local a 25 °C y 45% de humedad, se pide:
a) Flujo de aire necesario.
b) Estado del aire suministrado al local.
c) Potencias de refrigeración y calefacción necesarias.
d) Cantidad de agua recibida del local.
Datos:
> | read"../therm_eq.m":read"../therm_proc.m":with(therm_proc): |
> | su1:="Aire":su2:="H2O":dat:=[T4=(21+273)*K_,phi4=0.5,T0=(35+273)*K_,T0ad=(25+273)*K_,P=20e3*W_,mrec_m=0.8,T5=(25+273)*K_,phi5=0.45]; |
![]() |
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) Flujo de aire necesario
El caudal y el tamaño de la instalación, vendrá definido por el parámetro extensivo P=20 kW=ma(h5-h3), asà que hemos de calcular antes los valores de entalpÃas unitarias.
Estado 0:
> | eqSA:=subs(T[f]=Tf,T[b]=Tb,T=T0,Tf=T[f],Tb=T[b],h(T,w0))=subs(T[f]=Tf,T[b]=Tb,T=Tad,Tf=T[f],Tb=T[b],h(T,w0ad));phi0_:=subs(dat,solve(evalf(subs(dat,Adat,Wdat,T=T0,dat,h(T,w(phi0,T0,p0))))=evalf(subs(dat,Adat,Wdat,T=T0ad,dat,h(T,w(1,T0ad,p0)))),phi0)):'phi0'=evalf(%,2);w0_:=evalf(subs(dat,w(phi0_,T0,p0)));h0_:=subs(dat,Adat,Wdat,T=T0,dat,h(T,w0_)):'h0'=evalf(%/(1e3*J_/kJ_));Tr0_:=solve(subs(dat,pv(T)=phi0_*pv(T0)),T);Tr0=TKC(%); |
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Estado 5:
> | w5_:=evalf(subs(dat,w(phi5,T5,p0)));h5_:=subs(dat,Adat,Wdat,T=T5,dat,h(T,w5_)):'h5'=evalf(%/(1e3*J_/kJ_),3); |
![]() |
![]() |
Estado 1:
> | w1:=mrec_m*w5+(1-mrec_m)*w0;w1_:=subs(dat,w5=w5_,w0=w0_,w1);h1:=mrec_m*h5+(1-mrec_m)*h0;h1_:=subs(dat,h5=h5_,h0=h0_,h1):'h1'=evalf(%/(1e3*J_/kJ_),3);T1_:=subs(dat,solve(subs(dat,Adat,Wdat,dat,h1_=h(T,w1_)),T));phi1_:=evalf(subs(dat,phi(w1_,T1_,p0))); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Estado 4. Supondremos que las condiciones medias son entre la entrada y la salida (i.e. modelo unidimensional):
> | w4_:=evalf(subs(dat,w(phi4,T4,p0))):'w4'=evalf(%,2)*kg_agua/kg_air_sec;h4_:=subs(dat,Adat,Wdat,T=T4,dat,h(T,w4_)):'h4'=evalf(%/(1e3*J_/kJ_),3);eq1local:=w4=(w3+w5)/2;eq2local:=h4=(h3+h5)/2; |
![]() |
![]() |
![]() |
![]() |
Estado 3:
> | w3_:=subs(w4=w4_,w5=w5_,solve(eq1local,w3)):'w3'=evalf(%,2);h3_:=subs(h4=h4_,h5=h5_,solve(eq2local,h3)):'h3'=evalf(%/(1e3*J_/kJ_),3);T3_:=subs(dat,solve(subs(dat,Adat,Wdat,dat,h3_=h(T,w3_)),T));phi3_:=subs(dat,phi(w3_,T3_,p0));eqBMwlocal:=m*(w5-w3)=mwadded;eqBElocal:=m*(h5-h3)=P;sol1_:=subs(w5=w5_,w3=w3_,h5=h5_,h3=h3_,dat,solve({eqBMwlocal,eqBElocal},{m,mwadded})):'mwadded'=evalf(subs(sol1_,mwadded));'m'=evalf(subs(sol1_,m),2); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Estado 2:
> | w2:=w3;w2_:=w3_:'w2'=evalf(%,2);phi2:=1;T2_:=fsolve(subs(dat,SI0,pv(T)=phi3_*pv(T3_)),T=200..400)*K_;'T2'=TKC(T2_);h2_:=subs(dat,Adat,Wdat,T=T2_,dat,h(T,w2_)):'h2'=evalf(%/(1e3*J_/kJ_),3); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
b) Estado del aire suministrado al local.
Estado 3 (arriba).
c) Potencias de refrigeración y calefacción necesarias
> | P[refr]:='m*(h1-h2)';P[calef]:=m*(h3-h2);mwout:='m*(w1-w2)';P[refr_]:=subs(sol1_,dat,m*(h1_-h2_)):'P[refr]'=evalf(%/(1e3*W_/kW_),3);P[calef_]:=subs(sol1_,dat,m*(h3_-h2_)):'P[calef]'=evalf(%/(1e3*W_/kW_),3);mwout_:=evalf(subs(sol1_,m*(w1_-w2_)),2); |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
d) Cantidad de agua recibida del local.
> | mwadded_:=evalf(subs(sol1_,mwadded),2); |
![]() |
Si representamos los procesos en un diagrama de Mollier aproximado (T-w en vez de h-w):
> | T1dew_:=fsolve(subs(dat,SI0,pv(T)=phi1_*pv(T1_)),T=200..400)*K_;plot({subs(dat,[[w1_,T1dew_/K_],[w1_,T1_/K_]]),subs(dat,[[w0_,T0/K_],[w1_,T1_/K_],[w5_,T5/K_],[w4_,T4/K_],[w3_,T3_/K_],[w2_,T2_/K_]]),[subs(dat,SI0,w(1,T,p0)),T,T=273..373]},'w'=0..0.02,temp=273..320,color=black); |
![]() |
![]() |
> |