> restart:#"m05_p18"

Se quiere analizar el coste de comprimir aire de 100 kPa a 1 MPa en régimen estacionario. Se pide:

a) Temperatura de salida que supondría un consumo mínimo.

b) Consumo mínimo.

c) Consumo mínimo para pasar una masa de control (régimen no estacionario) desde 100 kPa a 1 MPa, explicando la diferencia con el caso anterior.

d) Volviendo al caso estacionario, consumo mínimo utilizando un compresor adiabático.

e) Consumo utilizando un compresor de rendimiento adiabático 0,75.

f) Consumo mínimo utilizando dos compresores adiabáticos con refrigeración intermedia, determinando la presión intermedia óptima.

g) Consumo mínimo utilizando dos compresores adiabáticos con refrigeración intermedia hasta 5 °C por encima de la temperatura ambiente, determinando la presión intermedia óptima.

h) Consumo mínimo utilizando dos compresores adiabáticos de rendimiento 0,75, con refrigeración intermedia hasta 5 °C por encima de la temperatura ambiente, determinando la presión intermedia óptima.

i) Consumo mínimo utilizando dos compresores adiabáticos de rendimiento 0,75, con refrigeración intermedia hasta 5 °C por encima de la temperatura ambiente, determinando las presiones intermedias óptimas sabiendo que en el cambiador de calor la presión cae 20 kPa.

j) Consumo mínimo en el caso límite de infinitos compresores adiabáticos de rendimiento 0,75 con refrigeración intermedia hasta la temperatura atmosférica.

Datos:

> read"../therm_eq.m":read"../therm_proc.m":with(therm_proc):assume(p1>0,p0>0):

> su:="Aire":dat:=[p1=1e6*Pa_,eta=0.75,DTmin=5*K_,Dp=20e3*Pa_];

`:=`(dat, [p1 = `+`(`*`(0.1e7, `*`(Pa_))), eta = .75, DTmin = `+`(`*`(5, `*`(K_))), Dp = `+`(`*`(0.20e5, `*`(Pa_)))])

Esquema:

> `:=`(Sistemas, [gas, amb])

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

Eqs. const.:

> eqET:=eq1_12;eqEE:=eq1_16;gdat:=get_gas_data(su):dat:=[op(dat),Const,gdat,SI2,SI1]:

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

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

a) Temperatura de salida que supondría un consumo mínimo.

> w[min]:=c[p]*(T1-T0)-T0*(c[p]*ln(T1/T0)-R*ln(p1/p0));eq1:=Diff(w[min],T1)=0;eq1_:=diff(w[min],T1)=0;T1opt:=solve(diff(w[min],T1)=0,T1);

`:=`(w[min], `+`(`*`(c[p], `*`(`+`(T1, `-`(T0)))), `-`(`*`(T0, `*`(`+`(`*`(c[p], `*`(ln(`/`(`*`(T1), `*`(T0))))), `-`(`*`(R, `*`(ln(`/`(`*`(p1), `*`(p0))))))))))))

`:=`(eq1, Diff(`+`(`*`(c[p], `*`(`+`(T1, `-`(T0)))), `-`(`*`(T0, `*`(`+`(`*`(c[p], `*`(ln(`/`(`*`(T1), `*`(T0))))), `-`(`*`(R, `*`(ln(`/`(`*`(p1), `*`(p0))))))))))), T1) = 0)

`:=`(eq1_, `+`(c[p], `-`(`/`(`*`(T0, `*`(c[p])), `*`(T1)))) = 0)

`:=`(T1opt, T0)

b) Consumo mínimo.

> w[min,min]:=eval(subs(T1=T1opt,w[min]));w[min,min_]:=evalf(subs(dat,w[min,min])):'w[min,min]'=evalf(%/(1000*J_/kJ_));

`:=`(w[min, min], `*`(T0, `*`(R, `*`(ln(`/`(`*`(p1), `*`(p0)))))))

w[min, min] = `+`(`/`(`*`(190.1166700, `*`(kJ_)), `*`(kg_)))

c) Consumo mínimo para pasar una masa de control (régimen no estacionario) desde 100 kPa a 1 MPa, explicando la diferencia con el caso anterior.

> w[minMC]:=Int(-p,V)+Int(p0,V);p:=R*T0/V;V0:=R*T0/p0;V1:=R*T0/p1;w[minMC]:=int(-p+p0,V=V0..V1);w[minMC_]:=evalf(subs(dat,SI0,w[minMC]))*J_/kg_:'w[minMC]'=evalf(%/(1000*J_/kJ_));p:='p':

`:=`(w[minMC], `+`(Int(`+`(`-`(p)), V), Int(p0, V)))

`:=`(p, `/`(`*`(R, `*`(T0)), `*`(V)))

`:=`(V0, `/`(`*`(R, `*`(T0)), `*`(p0)))

`:=`(V1, `/`(`*`(R, `*`(T0)), `*`(p1)))
`:=`(w[minMC], int(`+`(`-`(`/`(`*`(R, `*`(T0)), `*`(V))), p0), V = `/`(`*`(R, `*`(T0)), `*`(p0)) .. `/`(`*`(R, `*`(T0)), `*`(p1))))

w[minMC] = `+`(`/`(`*`(115.8067114, `*`(kJ_)), `*`(kg_)))

wMC<wVC porque la atmósfera trabaja.

d) Volviendo al caso estacionario, consumo mínimo utilizando un compresor adiabático.

> w[min,ad]:=c[p]*T0*((p1/p0)^((gamma-1)/gamma)-1);w[min,ad_]:=evalf(subs(dat,w[min,ad])):'w[min,ad]'=evalf(%/(1000*J_/kJ_));

`:=`(w[min, ad], `*`(c[p], `*`(T0, `*`(`+`(`^`(`/`(`*`(p1), `*`(p0)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))))

w[min, ad] = `+`(`/`(`*`(268.8987108, `*`(kJ_)), `*`(kg_)))

e) Consumo utilizando un compresor de rendimiento adiabático 0,75.

> w[min,ad075]:='w[min,ad]'/eta;w[min,ad075_]:=evalf(w[min,ad_]/subs(dat,eta)):'w[min,ad075]'=evalf(%/(1000*J_/kJ_));

`:=`(w[min, ad075], `/`(`*`(w[min, ad]), `*`(eta)))
w[min, ad075] = `+`(`/`(`*`(358.5316144, `*`(kJ_)), `*`(kg_)))

f) Consumo mínimo utilizando dos compresores adiabáticos con refrigeración intermedia, determinando la presión intermedia óptima.

> w01:=c[p]*T0*((popt/p0)^((gamma-1)/gamma)-1);w23:=c[p]*T0*((p1/popt)^((gamma-1)/gamma)-1);popt_:=fsolve(subs(dat,SI0,diff(w01+w23,popt)=0),popt=2e5..4e5)*Pa_:'popt'=evalf(%/(1000*Pa_/kPa_));wmin2T0_:=(subs(dat,popt=popt_,w01+w23)):'wmin2T0'=evalf(%/(1000*J_/kJ_));

`:=`(w01, `*`(c[p], `*`(T0, `*`(`+`(`^`(`/`(`*`(popt), `*`(p0)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))))

`:=`(w23, `*`(c[p], `*`(T0, `*`(`+`(`^`(`/`(`*`(p1), `*`(popt)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))))

popt = `+`(`*`(316.2277658, `*`(kPa_)))

wmin2T0 = `+`(`/`(`*`(225.0924879, `*`(kJ_)), `*`(kg_)))

g) Consumo mínimo utilizando dos compresores adiabáticos con refrigeración intermedia hasta 5 °C por encima de la temperatura ambiente, determinando la presión intermedia óptima.

> w01:=c[p]*T0*((popt/p0)^((gamma-1)/gamma)-1);w23:=c[p]*(T0+DTmin)*((p1/popt)^((gamma-1)/gamma)-1);popt_:=fsolve(subs(dat,SI0,diff(w01+w23,popt)=0),popt)*Pa_:'popt'=evalf(%/(1000*Pa_/kPa_));wmin2T0_:=(subs(dat,popt=popt_,w01+w23)):'wmin2T0'=evalf(%/(1000*J_/kJ_));

`:=`(w01, `*`(c[p], `*`(T0, `*`(`+`(`^`(`/`(`*`(popt), `*`(p0)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))))

`:=`(w23, `*`(c[p], `*`(`+`(T0, DTmin), `*`(`+`(`^`(`/`(`*`(p1), `*`(popt)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))))

popt = `+`(`*`(325.9035752, `*`(kPa_)))

wmin2T0 = `+`(`/`(`*`(227.0164068, `*`(kJ_)), `*`(kg_)))

h) Consumo mínimo utilizando dos compresores adiabáticos de rendimiento 0,75, con refrigeración intermedia hasta 5 °C por encima de la temperatura ambiente, determinando la presión intermedia óptima.

> w01:=c[p]*T0*((popt/p0)^((gamma-1)/gamma)-1)/eta;w23:=c[p]*(T0+DTmin)*((p1/popt)^((gamma-1)/gamma)-1)/eta;popt_:=fsolve(subs(dat,SI0,diff(w01+w23,popt)=0),popt)*Pa_:'popt'=evalf(%/(1000*Pa_/kPa_));wmin2T0_:=(subs(dat,popt=popt_,w01+w23)):'wmin2T0'=evalf(%/(1000*J_/kJ_));

`:=`(w01, `/`(`*`(c[p], `*`(T0, `*`(`+`(`^`(`/`(`*`(popt), `*`(p0)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))), `*`(eta)))

`:=`(w23, `/`(`*`(c[p], `*`(`+`(T0, DTmin), `*`(`+`(`^`(`/`(`*`(p1), `*`(popt)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))), `*`(eta)))

popt = `+`(`*`(325.9035752, `*`(kPa_)))

wmin2T0 = `+`(`/`(`*`(302.6885424, `*`(kJ_)), `*`(kg_)))

i) Consumo mínimo utilizando dos compresores adiabáticos de rendimiento 0,75, con refrigeración intermedia hasta 5 °C por encima de la temperatura ambiente, determinando las presiones intermedias óptimas sabiendo que en el cambiador de calor la presión cae 20 kPa.

> w01:=c[p]*T0*((popt/p0)^((gamma-1)/gamma)-1)/eta;w23:=c[p]*(T0+DTmin)*((p1/(popt-Dp))^((gamma-1)/gamma)-1)/eta;popt_:=fsolve(subs(dat,SI0,diff(w01+w23,popt)=0),popt=3e5..4e5)*Pa_:'popt'=evalf(%/(1000*Pa_/kPa_));wmin2T0_:=(subs(dat,popt=popt_,w01+w23)):'wmin2T0'=evalf(%/(1000*J_/kJ_));

`:=`(w01, `/`(`*`(c[p], `*`(T0, `*`(`+`(`^`(`/`(`*`(popt), `*`(p0)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))), `*`(eta)))

`:=`(w23, `/`(`*`(c[p], `*`(`+`(T0, DTmin), `*`(`+`(`^`(`/`(`*`(p1), `*`(`+`(popt, `-`(Dp)))), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))), `*`(eta)))

popt = `+`(`*`(369.4063497, `*`(kPa_)))

wmin2T0 = `+`(`/`(`*`(311.7309487, `*`(kJ_)), `*`(kg_)))

j) Consumo mínimo en el caso límite de infinitos compresores adiabáticos de rendimiento 0,75 con refrigeración intermedia hasta la temperatura atmosférica.

> p:='p':dw:=cp*T0*(((p+dp)/p)^((gamma-1)/gamma)-1)/eta;dw_:=convert(series(dw,dp,2),polynom);w:=simplify(int(dw_/dp,'p'=p0..p1));

`:=`(dw, `/`(`*`(cp, `*`(T0, `*`(`+`(`^`(`/`(`*`(`+`(p, dp)), `*`(p)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))))), `*`(eta)))

`:=`(dw_, `/`(`*`(cp, `*`(T0, `*`(`+`(gamma, `-`(1)), `*`(dp)))), `*`(gamma, `*`(p, `*`(eta)))))
`:=`(w, `+`(`-`(`/`(`*`(cp, `*`(T0, `*`(`+`(gamma, `-`(1)), `*`(`+`(ln(p0), `-`(ln(p1))))))), `*`(gamma, `*`(eta))))))

> weta1:=simplify(subs(gamma=cp/(cp-R),eta=1,w));weta1_:=simplify(evalf(subs(cp=c[p],eta=1,dat,w))):'weta1'=evalf(%/(1000*J_/kJ_));w_:=simplify(evalf(subs(cp=c[p],dat,w))):'w'=evalf(%/(1000*J_/kJ_));

`:=`(weta1, `+`(`-`(`*`(T0, `*`(R, `*`(`+`(ln(p0), `-`(ln(p1)))))))))

weta1 = `+`(`/`(`*`(190.1166704, `*`(kJ_)), `*`(kg_)))

w = `+`(`/`(`*`(253.4888939, `*`(kJ_)), `*`(kg_)))

Si eta=1, es como en b).

>