> restart;#"m17_p41"

Considérese un ciclo Rankine con entrada de vapor a la turbina a 3 MPa y 500 ºC, rendimiento isentrópico del 80% y salida a 10 kPa, que mueve un compresor de aire de rendimiento isentrópico del 80%, con entrada atmosférica y salida a 400 kPa, la cual se hace llegar a una cámara de combustión donde se eleva la temperatura hasta 1300 K quemando keroseno, expandiéndose los gases en una turbina de rendimiento isentrópico del 85% para generar 10 MW de electricidad en un alternador, aprovechándose los gases a la salida para generar el vapor del ciclo Rankine. Se pide:
a) Temperatura de salida de la turbina de gas y gasto de aire necesario.
b) Potencia necesaria para mover el compresor.
c) Gasto de vapor necesario.
Datos:

> read`../therm_eq.m`:read`../therm_const.m`:read`../therm_proc.m`:with(therm_proc):

> su1:="H2O":su2:="Aire":dat:=[p3v=3e6*Pa_,T3v=773*K_,etaTV=0.8,p4v=10e3*Pa_,etaC=0.8,pi[12]=4,T3g=1300*K_,etaTG=0.85,WTG=10e6*W_];

Typesetting:-mprintslash([dat := [p3v = `+`(`*`(0.3e7, `*`(Pa_))), T3v = `+`(`*`(773, `*`(K_))), etaTV = .8, p4v = `+`(`*`(0.10e5, `*`(Pa_))), etaC = .8, pi[12] = 4, T3g = `+`(`*`(1300, `*`(K_))), eta...

Image

> Adat:=get_gas_data(su2):Wdat:=gamma=1.33,get_gas_data(su1),get_liq_data(su1):dat:=op(dat),Wdat,Const,SI2,SI1:get_pv_data(su1):

a) Temperatura de salida de la turbina de gas y gasto de aire necesario.

> subs(p4=p3/pi[12],eq5_60);T4_:=subs(eta=etaTG,solve(%,T4));T4__:=subs(T3=T3g,Adat,dat,%);ma:=WTG/(c[p]*(T3g-T4g));ma_:=subs(T4g=T4__,Adat,dat,%);

eta = `/`(`*`(`+`(1, `-`(`/`(`*`(T4), `*`(T3))))), `*`(`+`(1, `-`(`^`(`/`(1, `*`(pi[12])), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma)))))))
Typesetting:-mprintslash([T4_ := `+`(`*`(etaTG, `*`(T3, `*`(`^`(`/`(1, `*`(pi[12])), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma)))))), `-`(`*`(etaTG, `*`(T3))), T3)], [`+`(`*`(etaTG, `*`(T3, `*`(`^`(`/`(1...
Typesetting:-mprintslash([T4__ := `+`(`*`(938.7818453, `*`(K_)))], [`+`(`*`(938.7818453, `*`(K_)))])
Typesetting:-mprintslash([ma := `/`(`*`(WTG), `*`(c[p], `*`(`+`(T3g, `-`(T4g)))))], [`/`(`*`(WTG), `*`(c[p], `*`(`+`(T3g, `-`(T4g)))))])
Typesetting:-mprintslash([ma_ := `+`(`/`(`*`(27.57380612, `*`(kg_)), `*`(s_)))], [`+`(`/`(`*`(27.57380612, `*`(kg_)), `*`(s_)))])

i.e. a la TG deben entrar 27.6 kg/s, que salen a 938 K.

b) Potencia necesaria para mover el compresor.

> WC:='ma*c[p]*(T2g-T1g)';eq5_59;T2_:=subs(T1=T0,eta=etaC,solve(%,T2));T2__:=subs(Adat,dat,%);WC_:=subs(Adat,dat,ma_*c[p]*(T2__-T0));

Typesetting:-mprintslash([WC := `*`(ma, `*`(c[p], `*`(`+`(T2g, `-`(T1g)))))], [`*`(ma, `*`(c[p], `*`(`+`(T2g, `-`(T1g)))))])
eta = `/`(`*`(`+`(`^`(pi[12], `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1))), `*`(`+`(`/`(`*`(T2), `*`(T1)), `-`(1))))
Typesetting:-mprintslash([T2_ := `/`(`*`(T0, `*`(`+`(`^`(pi[12], `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), etaC, `-`(1)))), `*`(etaC))], [`/`(`*`(T0, `*`(`+`(`^`(pi[12], `/`(`*`(`+`(gamma, `-`(1))), ...
Typesetting:-mprintslash([T2__ := `+`(`*`(463.0753020, `*`(K_)))], [`+`(`*`(463.0753020, `*`(K_)))])
Typesetting:-mprintslash([WC_ := `+`(`*`(4842649.787, `*`(W_)))], [`+`(`*`(4842649.787, `*`(W_)))])

i.e. se necesitan 4,8 MW para mover el compresor.

c) Gasto de vapor necesario.

> eqBW:='WTV=WC';mv:='WC/(h3v-h4v)';h3_:=subs(Wdat,dat,T=T3v,dat,hv(T));wet_vap(subs(dat,T3v),subs(dat,p3v),subs(dat,p4v));eqeta:=etaTV=(h3-h4)/(h3-h4s);h4_:=subs(dat,h3_-etaTV*(h3_-h4s_));mv_:=subs(dat,WC_/(h3_-h4_));x4:=(h4-h4l)/(h4v-h4l);h4l_:=subs(dat,T=T4_,dat,hl(T));h4v_:=subs(dat,T=T4_,dat,hv(T));x4_:=(h4_-h4l_)/(h4v_-h4l_);

Typesetting:-mprintslash([eqBW := WTV = WC], [WTV = WC])
Typesetting:-mprintslash([mv := `/`(`*`(WC), `*`(`+`(h3v, `-`(h4v))))], [`/`(`*`(WC), `*`(`+`(h3v, `-`(h4v))))])
Typesetting:-mprintslash([h3_ := `+`(`/`(`*`(3495426.0, `*`(J_)), `*`(kg_)))], [`+`(`/`(`*`(3495426.0, `*`(J_)), `*`(kg_)))])
`Point 4s inside wet bell`, [x4s_ = .89, h4s_ = `+`(`/`(`*`(0.23e7, `*`(J_)), `*`(kg_))), s3_ = `+`(`/`(`*`(0.73e4, `*`(J_)), `*`(kg_, `*`(K_))))]
Typesetting:-mprintslash([eqeta := etaTV = `/`(`*`(`+`(h3, `-`(h4))), `*`(`+`(h3, `-`(h4s))))], [etaTV = `/`(`*`(`+`(h3, `-`(h4))), `*`(`+`(h3, `-`(h4s))))])
Typesetting:-mprintslash([h4_ := `+`(`/`(`*`(2541815.118, `*`(J_)), `*`(kg_)))], [`+`(`/`(`*`(2541815.118, `*`(J_)), `*`(kg_)))])
Typesetting:-mprintslash([mv_ := `+`(`/`(`*`(5.078224125, `*`(kg_)), `*`(s_)))], [`+`(`/`(`*`(5.078224125, `*`(kg_)), `*`(s_)))])
Typesetting:-mprintslash([x4 := `/`(`*`(`+`(h4, `-`(h4l))), `*`(`+`(h4v, `-`(h4l))))], [`/`(`*`(`+`(h4, `-`(h4l))), `*`(`+`(h4v, `-`(h4l))))])
Typesetting:-mprintslash([h4l_ := `+`(`/`(`*`(191846.6063, `*`(J_)), `*`(kg_)))], [`+`(`/`(`*`(191846.6063, `*`(J_)), `*`(kg_)))])
Typesetting:-mprintslash([h4v_ := `+`(`/`(`*`(2564513.450, `*`(J_)), `*`(kg_)))], [`+`(`/`(`*`(2564513.450, `*`(J_)), `*`(kg_)))])
Typesetting:-mprintslash([x4_ := .9904334095], [.9904334095])

i.e. se necesita procesar 5,1 kg/s de vapor (que saldrían de la turbina con una fracción másica de vapor del 99%).

Ahora habría que comprobar que la caldera está bien diseñada, i.e. que con esos gases de escape es posible generar ese vapor.

Con 27,6 kg/s de gas a 938 K, sí se puede generar vapor a 773 K, pero ¿cuánto?

Suponiendo que los gases salen a la temperatura de vaporización del agua:

> T5:=Tv_p3v;T5_:=subs(dat,evalf(solve(subs(dat,p3v)=pv(T),T)));Qprod:='ma*c[p]*(T4-T5)';Qprod_:=subs(dat,ma_*c[p]*(T4__-T5_));Qvap:='mv*(h3v-h2v)';T4v_:=subs(dat,evalf(subs(dat,solve(p4v=pv(T),T))));h2_:=subs(dat,T=T4v_,dat,hl(T));Qvap_:=mv_*(h3_-h2_);

Typesetting:-mprintslash([T5 := Tv_p3v], [Tv_p3v])
Typesetting:-mprintslash([T5_ := `+`(`*`(505.9758197, `*`(K_)))], [`+`(`*`(505.9758197, `*`(K_)))])
Typesetting:-mprintslash([Qprod := `*`(ma, `*`(c[p], `*`(`+`(T4, `-`(T5)))))], [`*`(ma, `*`(c[p], `*`(`+`(T4, `-`(T5)))))])
Typesetting:-mprintslash([Qprod_ := `+`(`*`(24464924.35, `*`(W_)))], [`+`(`*`(24464924.35, `*`(W_)))])
Typesetting:-mprintslash([Qvap := `*`(mv, `*`(`+`(h3v, `-`(h2v))))], [`*`(mv, `*`(`+`(h3v, `-`(h2v))))])
Typesetting:-mprintslash([T4v_ := `+`(`*`(318.8963173, `*`(K_)))], [`+`(`*`(318.8963173, `*`(K_)))])
Typesetting:-mprintslash([h2_ := `+`(`/`(`*`(191846.6063, `*`(J_)), `*`(kg_)))], [`+`(`/`(`*`(191846.6063, `*`(J_)), `*`(kg_)))])
Typesetting:-mprintslash([Qvap_ := `+`(`/`(`*`(16776316.58, `*`(J_)), `*`(s_)))], [`+`(`/`(`*`(16776316.58, `*`(J_)), `*`(s_)))])

i.e. sobra con los 25 MW disponibles para los 17 MW necesarios.

Nótese que la turbina de gas no puede empezar a operar hasta que la turbina de vapor no sea capaz de mover el compresor, pero la TV necesita los gases de escape de la TG para generar vapor, luego el dispositivo conjunto no puede arrancar por sí solo; haría falta un quemador adicional en la caldera para empezar a generar vapor, arrastrar luego el compresor, generar gases calientes, y apagar entonces el quemador de arranque.

Ref. Basado en el artículo de Ouwerkerk, H. y de Lange, H.C. 2006, "Technical and economical feasibility of the Rankine compression gas turbine (RCG), Applied Thermal Engineering 26, pp. 413-420.

>