Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Proyecto Maquinas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

Universidad Autónoma de Chihuahua

Facultad de Ciencias Químicas

Máquinas térmicas y refrigeración.


Dr. Javier Tovar Facio.

Proyecto El Pyton.

Grupo 7O
Ruth Minerva Marquez Ontiveros - 339219
Vianey Elizabeth Ramos Cano - 329963
Oscar Ortega Regalado - 336001

15/05/2023
Problemas.
● Ejemplo 10.4. El ciclo Rankine ideal con recalentamiento.
Considere una central eléctrica que opera en el ciclo Rankine ideal con recalentamiento. La
central mantiene la entrada de la turbina de alta presión a 600 psia y 600 °F, y el condensador
a 10 psia. La potencia neta producida por esta central es de 5,000 kW. Determine la tasa de
adición y rechazo de calor y la eficiencia térmica del ciclo.

Figura No. 1. Esquema y diagrama T-S para el ejemplo 10.4.

● Ejemplo 10.5. El ciclo Rankine ideal regenerativo.


Considere una central eléctrica de vapor que opera en un ciclo Rankine ideal regenerativo con
un calentador abierto de agua de alimentación. El vapor entra a la turbina a 15 MPa y 600 °C,
y se condensa en el condensador a una presión de 10 kPa. Una parte de vapor sale de la
turbina a una presión de 1.2 MPa y entra al calentador abierto de agua de alimentación.
Determine la fracción de vapor extraído de la turbina y la eficiencia térmica del ciclo.

Figura No. 2. Esquema y diagrama T-S para el ejemplo 10.5.


● Ejemplo 10.6. El ciclo Rankine ideal regenerativo con recalentamiento.
Considere una central eléctrica de vapor que opera en un ciclo Rankine ideal regenerativo con
recalentamiento, con dos calentadores de agua de alimentación, uno abierto y uno cerrado,
además de un recalentador. El vapor entra a la turbina a 15 MPa y 600°C y se condensa a una
presión de 10 kPa. Una parte de vapor se extrae de la turbina a 4 MPa para el calentador
cerrado, mientras que el resto se recalienta a la misma presión hasta 600 °C. El vapor
extraído se condensa por completo en el calentador y se bombea hasta 15 MPa antes de
mezclarse con el agua de alimentación a la misma presión. El vapor para el calentador abierto
se extrae de la turbina de baja presión a una presión de 0.5 MPa. Determine las fracciones de
vapor extraído de la turbina, así como la eficiencia térmica del ciclo.

Figura No. 3. Esquema y diagrama T-S para el ejemplo 10.6.


Resultados.

Gráfica No. 1. Diagrama T-S del ejemplo 10.4.

Gráfica No. 2. Diagrama T-S del ejemplo 10.5.


Gráfica No. 3. Diagrama T-S del ejemplo 10.6.

Apéndice.

Todos los códigos adjuntos fueron realizados en Google Colab.

● Ejemplo 10.4 paso por paso.


Se deben determinar las tasas de adición y rechazo de calor y la eficiencia térmica del ciclo.
La central opera en el ciclo Rankine ideal con recalentamiento, la turbina y la bomba son
isentrópicas, no hay caídas de presión en la caldera ni en el condensador, y el vapor sale del
condensador y entra a la bomba como líquido saturado a la presión del condensador.
Se empieza por obtener los valores h1 y v1 de la tabla de agua saturada (Tabla A5, libro
Cengel), los valores en esta tabla se encuentran en medidas del sistema internacional, por lo
que se realiza la conversión al sistema inglés utilizando los 10 psia del punto 1 (68.94 kPa), y
se obtienen los siguientes valores:

Valor de “v” a 75 kPa:


3 3
𝑣1 = 0. 001037 𝑚 /𝑘𝑔 = 0. 01659 𝑝𝑖𝑒 /𝑙𝑏𝑚

Valores de “hf” a 75 kPa:


ℎ1 = 384. 44 𝐾𝐽/𝑘𝑔 = 165. 27 𝐵𝑇𝑈/𝑙𝑏𝑚
Se utilizó la presión de 75 kPa ya que era el valor más cercano. Con el valor de v1 y las
presiones de P1 y P2, se puede calcular el trabajo de entrada de la bomba (W = v(P2 - P1))
para posteriormente calcular h2 con h1 y el trabajo de entrada de la bomba.

3 1 𝐵𝑇𝑈
𝑊𝑏𝑜𝑚𝑏, 𝑒𝑛𝑡 = 0. 01659 𝑝𝑖𝑒 /𝑙𝑏𝑚 [(600 𝑝𝑠𝑖𝑎 − 100 𝑝𝑠𝑖𝑎)( 3 )] = 1. 81 𝐵𝑇𝑈/𝑙𝑏𝑚
5.404 𝑝𝑠𝑖𝑎*𝑝𝑖𝑒
ℎ2 = ℎ1 + 𝑊𝑏𝑜𝑚𝑏, 𝑒𝑛𝑡 = 161. 25 𝐵𝑇𝑈/𝑙𝑏𝑚 + 1. 81 𝐵𝑇𝑈/𝑙𝑏𝑚 = 163. 06 𝐵𝑇𝑈/𝑙𝑏𝑚

De nuevo, utilizando las tablas A4, A5 y A6, se obtienen los valores del punto 3 y 5, y como
la turbina y la bomba son isentrópicas, se pueden utilizar los valores de estos puntos para
calcular los valores faltantes del punto 4 y 6. Al igual que ocurrió con el punto 1, se escoge el
valor próximo a la presión en el punto 3 y 5, y se realiza la conversión de unidades para su
facilidad de trabajo en este problema. El punto 3 y 5 se encuentran en estado sobrecalentado,
mientras que el 4 y 6 se encuentran en estado saturado.

𝑃3 = 600 𝑝𝑠𝑖𝑎 = 4, 136. 85 𝑘𝑃𝑎 = 4. 13 𝑀𝑃𝑎 𝑇3 = 600 °𝐹 = 315. 55 °𝐶


ℎ3 = 1, 289. 9 𝐵𝑇𝑈/𝑙𝑏𝑚 = 2961. 7 𝐾𝐽/𝑘𝑔 𝑠3 = 1. 5325 𝐵𝑇𝑈/𝑙𝑏𝑚 * 𝑅 = 6. 3639 𝐾𝐽/𝑘𝑔 * 𝐾

Se utiliza el valor de la entropía (s) para poder calcular la calidad de vapor (x = (sn - sf)/sfg)
del punto 4 o 6, y con este calcular el valor de la entalpía correspondiente (h = hf + xn*hfg).

1.5325 𝐵𝑇𝑈/𝑙𝑏𝑚*𝑅−0.54379 𝐵𝑇𝑈/𝑙𝑏𝑚*𝑅


𝑃4 = 200 𝑝𝑠𝑖𝑎 = 1, 387. 95 𝑘𝑃𝑎 𝑥4 = 1.00219 𝐵𝑇𝑈/𝑙𝑏𝑚*𝑅
= 0. 9865 𝑠4 = 𝑠3
ℎ4 = 355. 46 𝐵𝑇𝑈/𝑙𝑏𝑚 + (0. 9865 𝐵𝑇𝑈/𝑙𝑏𝑚 * 𝑅)(843. 33 𝐵𝑇𝑈/𝑙𝑏𝑚) = 1, 187. 5 𝐵𝑇𝑈/𝑙𝑏𝑚

𝑃5 = 200 𝑝𝑠𝑖𝑎 = 1, 387. 95 𝑘𝑃𝑎 = 1. 38 𝑀𝑃𝑎 𝑇5 = 600 °𝐹 = 315. 55 °𝐶


ℎ5 = 1, 322. 3 𝐵𝑇𝑈/𝑙𝑏𝑚 𝑠5 = 1. 6771 𝐵𝑇𝑈/𝑙𝑏𝑚 * 𝑅

1.6771 𝐵𝑇𝑈/𝑙𝑏𝑚*𝑅−0.28362 𝐵𝑇𝑈/𝑙𝑏𝑚*𝑅


𝑃6 = 10 𝑝𝑠𝑖𝑎 = 68. 94 𝑘𝑃𝑎 𝑥6 = 1.50391 𝐵𝑇𝑈/𝑙𝑏𝑚*𝑅
= 0. 9266 𝑠6 = 𝑠5
ℎ6 = 161. 25 𝐵𝑇𝑈/𝑙𝑏𝑚 + (0. 9266 𝐵𝑇𝑈/𝑙𝑏𝑚 * 𝑅)(981. 82 𝐵𝑇𝑈/𝑙𝑏𝑚) = 1, 071 𝐵𝑇𝑈/𝑙𝑏𝑚

Una vez calculados todos los valores de entalpías (h), se procede a calcular los valores de
calor de entrada (qent) proveniente de la caldera, y calor de salida (qsal) proveniente del
condensador, para así poder obtener el calor neto (qneto) de todo el sistema.

𝑞𝑒𝑛𝑡 = (ℎ3 − ℎ2) + (ℎ5 − ℎ4) =


(1, 289. 9 𝐵𝑇𝑈/ − 163. 06 )𝐵𝑇𝑈/𝑙𝑏𝑚 + (1, 322 − 1, 187. 5)𝐵𝑇𝑈/𝑙𝑏𝑚 = 1, 261. 7 𝐵𝑇𝑈/𝑙𝑏𝑚

𝑞𝑠𝑎𝑙 = (ℎ6 − ℎ1) = 1, 071 𝐵𝑇𝑈/𝑙𝑏𝑚 − 161. 25 𝐵𝑇𝑈/𝑙𝑏𝑚 = 909. 7 𝐵𝑇𝑈/𝑙𝑏𝑚


𝑄𝑛𝑒𝑡𝑜 = 𝑞𝑒𝑛𝑡 − 𝑞𝑠𝑎𝑙 = 1, 261. 7 𝐵𝑇𝑈/𝑙𝑏𝑚 − 909. 8 𝐵𝑇𝑈/𝑙𝑏𝑚 = 352 𝐵𝑇𝑈/𝑙𝑏𝑚

Se prosigue con el cálculo de la tasa de flujo másico de vapor despejando “m” de la siguiente
fórmula: Wneto = m*Qneto, siendo Wneto el valor de trabajo producido que el problema nos
proporcionó previamente.

𝑊𝑛𝑒𝑡𝑜 5,000 𝐾𝐽/𝑠 0.94782 𝐵𝑇𝑈


𝑚= 𝑄𝑛𝑒𝑡𝑜
= 352 𝐵𝑇𝑈/𝑙𝑏𝑚
( 1 𝐾𝐽
) = 13. 47 𝑙𝑏𝑚/𝑠

Con el valor del flujo másico, ahora es posible calcular los valores de la tasa de adición y
rechazo de calor reales.

𝑄𝑒𝑛𝑡 = 𝑚 * 𝑞𝑒𝑛𝑡 = 13. 47 𝑙𝑏𝑚/𝑠 * 1, 261. 7 𝐵𝑇𝑈/𝑙𝑏𝑚 = 16, 995 𝐵𝑇𝑈/𝑠

𝑄𝑠𝑎𝑙 = 𝑚 * 𝑞𝑠𝑎𝑙 = 13. 47 𝑙𝑏𝑚/𝑠 * 909. 7 𝐵𝑇𝑈/𝑙𝑏𝑚 = 12, 250 𝐵𝑇𝑈/𝑠

Para finalizar, se calcula el valor de la eficiencia térmica y se da por terminado el problema.

𝑊𝑛𝑒𝑡𝑜 5,000 𝐾𝐽/𝑠


𝜼= 𝑄𝑒𝑛𝑡
= 16,995 𝐵𝑇𝑈/𝑠
= 0. 279 * 100 = 27. 9%

● Código para el diagrama del ejemplo 10.4.


!pip install pyromat
import numpy as np
import matplotlib.pyplot as plt
import pyromat as pm
pm.config["unit_pressure"] = "kPa"
pm.config["def_p"] = 100
mp_water = pm.get("mp.H2O")
W_dot_neto = 5000
p1 = 68.9
T1 = mp_water.Ts(p=p1)[0]
s1 = mp_water.ss(p=p1)[0]
print(f"p1 = {round(float(p1),2)} kPa")
print(f"T1 = {round(float(T1),2)} K")
print(f"s1 = {round(float(s1),2)} kJ/(kg K)")
p2 = 4136.8
s2= s1
v = 1/mp_water.ds(p=p1)[0]
w_p = v*(p2-p1)
print(f"Trabajo requerido por la bomba: {round(float(w_p),2)}
kJ/kg")
h1 = mp_water.hs(p=p1)[0]
h2 = h1+w_p
T2 = mp_water.T_h(p=p2,h=h2)
print(f"p2 = {round(float(p2),2)} kPa")
print(f"T2 = {round(float(T2),2)} K")
print(f"h2 = {round(float(h2),2)} kJ/kg")
print(f"s2 = {round(float(s2),2)} kJ/(kg K)")
p3 = p2
T3 = 315.56+273.15
h3,s3,d3 = mp_water.hsd(T=T3,p=p3)
print(f"p3 = {round(float(p3),2)} kPa")
print(f"T3 = {round(float(T3),2)} K")
print(f"h3: {round(float(h3),2)} kJ/kg")
print(f"s3: {round(float(s3),2)} kJ/(kg k)")
p4 = 1378.9/2
s4 = s3
T4, x4 = mp_water.T_s(s=s4,p=p4, quality=True)
h4 = mp_water.h(p=p4,x=x4)
print(f"p4 = {round(float(p4),2)} kPa")
print(f"T4 = {round(float(T4),2)} K")
print(f"x4: {round(float(x4),3)} ")
print(f"h4: {round(float(h4),2)} kJ/kg")
print(f"s4 = {round(float(s4),2)} kJ/(kg K)")
p5 = p4
T5 = 315.56+273.15
h5,s5,d5 = mp_water.hsd(T=T5,p=p5)
print(f"p5 = {round(float(p5),2)} kPa")
print(f"T5 = {round(float(T5),2)} K")
print(f"h5: {round(float(h5),2)} kJ/kg")
print(f"s5 = {round(float(s5),2)} kJ/(kg K)")
p6 = 68.9
s6 = s5
T6, x6 = mp_water.T_s(s=s6,p=p6, quality=True)
h6 = mp_water.h(p=p6,x=x6)
print(f"p6 = {round(float(p6),2)} kPa")
print(f"T6 = {round(float(T6),2)} K")
print(f"x6: {round(float(x6),3)} ")
print(f"h6: {round(float(h6),2)} kJ/kg")
print(f"s6 = {round(float(s6),2)} kJ/(kg K)")
q_ent = (h3 - h2) + (h5 - h4)
print(f"calor de entrada: {round(float(q_ent),2)} kJ/kg")
q_sal = h1 - h6
print(f"calor rechazado por condensador:
{round(float(q_sal),2)} kJ/kg")
q_neto = q_ent - q_sal
print(f"calor neto: {round(float(q_neto),2)} kJ/kg")
m = W_dot_neto/(abs(h4-h3)+abs(h6-h5)-abs(w_p))
Q_ENT = m*q_ent
Q_SAL = m*q_sal
n_ter=W_dot_neto/Q_ENT
print(f"eficiencia = {round(float(n_ter),3)} ")
T3_Lsat = mp_water.Ts(p=p3)
s3_Lsat = mp_water.ss(p=p3)[1]
T3_Vsat = mp_water.Ts(p=p3)[0]
s3_Vsat = mp_water.ss(p=p3)[0]
x = np.array([s1, s2, s3_Vsat, s3_Lsat, s3, s4, s5, s6, s1])
y = np.array([T1, T1+1, T3_Vsat, T3_Lsat, T3, T4, T5, T6, T1])
p = np.linspace(1, 22063, 1000)
T = mp_water.Ts(p=p)
s = mp_water.ss(p=p)
plt.plot(x, y, 'black')
plt.ylabel('Temperatura (K)')
plt.xlabel('Entropía (s)')
plt.title('Ciclo Rankine Ideal, Diagrama T-S')
plt.plot(s[0],T, 'b--')
plt.plot(s[1],T,'r--')
plt.show()

● Ejemplo 10.5 paso por paso.


Primero, se determinan las entalpías en diferentes estados:

Estado 1, líquido saturado.


𝑃1 = 10 𝑘𝑃𝑎, ℎ1 = ℎ𝑓 10𝑘𝑃𝑎 = 191. 81 𝐾𝐽/𝑘𝑔
3
𝑣1 = 𝑣𝑓 10𝑘𝑃𝑎 = 0. 00101 𝑚 /𝑘𝑔

Estado 2.
𝑃2 = 1. 2 𝑀𝑃𝑎, 𝑠2 = 𝑠1
3 1 𝐾𝐽
𝑊𝑏𝑜𝑚𝑏 𝐼, 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = 𝑣1(𝑃2 − 𝑃1) = (0. 00101 𝑚 /𝑘𝑔(1200 − 10)𝑘𝑃𝑎 ( 3 ) = 1. 20 𝐾𝐽/𝑘𝑔
1 𝑘𝑃𝑎*𝑚
ℎ2 = ℎ1 + 𝑊𝑏𝑜𝑚𝑏 𝐼, 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = (191. 81 + 1. 2)𝐾𝐽/𝑘𝑔 = 193. 01 𝐾𝐽/𝑘𝑔

Estado 3, líquido saturado.


𝑃3 = 1. 2 𝑀𝑃𝑎, ℎ1 = ℎ𝑓 1.2𝑀𝑃𝑎 = 798. 33 𝐾𝐽/𝑘𝑔
3
𝑣3 = 𝑣𝑓 1.2𝑀𝑃𝑎 = 0. 001138 𝑚 /𝑘𝑔

Estado 4.
𝑃4 = 15 𝑀𝑃𝑎, 𝑠4 = 𝑠3
3 1 𝐾𝐽
𝑊𝑏𝑜𝑚𝑏 𝐼𝐼, 𝑒𝑛𝑡 = 𝑣3(𝑃4 − 𝑃3) = (0. 001138 𝑚 /𝑘𝑔(15, 000 − 1, 200)𝑘𝑃𝑎 ( 3 ) = 15. 70 𝐾𝐽/𝑘𝑔
1 𝑘𝑃𝑎*𝑚
ℎ4 = ℎ3 + 𝑊𝑏𝑜𝑚𝑏 𝐼𝐼, 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = (798. 33 + 15. 70)𝐾𝐽/𝑘𝑔 = 814. 03 𝐾𝐽/𝑘𝑔

Estado 5.
𝑃5 = 15 𝑀𝑃𝑎, 𝑇5 = 600 °𝐶, ℎ5 = 3, 583. 1 𝐾𝐽/𝑘𝑔, 𝑠5 = 6. 6796 𝐾𝐽/𝑘𝑔 * 𝐾

Estado 6.
𝑃6 = 1. 2 𝑀𝑃𝑎, 𝑇6 = 218. 4 °𝐶, ℎ6 = 2, 860. 2 𝐾𝐽/𝑘𝑔, 𝑠6 = 𝑠5

Estado 7.
𝑃7 = 10 𝑘𝑃𝑎, 𝑠7 = 𝑠5
𝑠7−𝑠𝑓 6.6796−0.6492
𝑥7 = 𝑠𝑓𝑔
= ( 7.4996
)𝐾𝐽/𝑘𝑔 * 𝐾 = 0. 8041

ℎ7 = ℎ𝑓 + 𝑥7ℎ𝑓𝑔 = 191. 81 𝐾𝐽/𝑘𝑔 + 0. 8041(2, 392. 1 𝐾𝐽/𝑘𝑔) = 2, 115. 3 𝐾𝐽/𝑘𝑔

El balance de energía para un calentador de agua es el siguiente:

𝐸𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = 𝐸𝑠𝑎𝑙𝑖𝑑𝑎 → ∑ 𝑚ℎ = ∑ 𝑚ℎ, o también puede ser:


𝐸𝑛𝑡𝑟𝑎𝑑𝑎 𝑆𝑎𝑙𝑖𝑑𝑎
𝑦ℎ6 + (1 − 𝑦)ℎ2 = 1(ℎ3)

Donde y es la fracción de vapor extraído de la turbina (=m6/m5). Al resolver para “y” y


sustituir los valores de entalpía se obtiene:

ℎ3−ℎ2 798.33−193.01
𝑦= ℎ6−ℎ2
= ( 2,860.2−193.01 )𝐾𝐽/𝑘𝑔 = 0. 227

Por consiguiente:
𝑄𝑒𝑛𝑡 = ℎ5 − ℎ4 = (3, 583. 1 − 814. 03)𝐾𝐽/𝑘𝑔 = 2, 769. 1 𝐾𝐽/𝑘𝑔
𝑄𝑠𝑎𝑙 = (1 − 𝑦)(ℎ7 − ℎ1) = (1 − 0. 227)(2, 115. 3 − 191. 81)𝐾𝐽/𝑘𝑔 = 1, 486. 9 𝐾𝐽/𝑘𝑔

𝑄𝑠𝑎𝑙 1,486.9 𝐾𝐽/𝑘𝑔


y: 𝛈𝑡𝑒𝑟 = 1 − 𝑄𝑒𝑛𝑡
= 1− 2,769.1 𝐾𝐽/𝑘𝑔
= 0. 463 * 100 = 46. 3%

● Código para el diagrama del ejemplo 10.5.


!pip install pyromat
import numpy as np
import matplotlib.pyplot as plt
import pyromat as pm
pm.config["unit_pressure"] = "kPa"
pm.config["def_p"] = 100
mp_water = pm.get("mp.H2O")
p1 = 10
h1 = mp_water.hs(p=p1)[0]
T1 = mp_water.T_h(p=p1,h=h1)
s1 = mp_water.ss(p=p1)[0]
print(f"p1 = {round(float(p1),2)} kPa")
print(f"T1 = {round(float(T1),2)} K")
print(f"h1 = {round(float(h1),2)} KJ/kg")
print(f"s1 = {round(float(s1),2)} KJ/kg*K")
p2 = 1200
s2 = s1
v1 = 1/mp_water.ds(p=p1)[0]
w_p1 = v1*(p2-p1)
print(f"Trabajo requerido por la bomba I:
{round(float(w_p1),2)} kJ/kg")
h2 = h1+w_p1
T2 = mp_water.T_h(p=p2,h=h2)
print(f"p2 = {round(float(p2),2)} kPa")
print(f"T2 = {round(float(T2),2)} K")
print(f"h2 = {round(float(h2),2)} kJ/kg")
print(f"s2 = {round(float(s2),2)} kJ/(kg K)")
p3 = p2
s3 = mp_water.ss(p=p3)[0]
v3 = 1/mp_water.ds(p=p3)[0]
h3 = mp_water.hs(p=p3)[0]
T3 = mp_water.T_h(p=p3,h=h3)
print(f"p3 = {round(float(p3),2)} kPa")
print(f"T3 = {round(float(T3),2)} K")
print(f"h3: {round(float(h3),2)} kJ/kg")
print(f"s3: {round(float(s3),2)} kJ/(kg k)")
p4 = 15000
w_p2 = v3*(p4-p3)
s4 = s3
h4 = h3 + w_p2
T4 = mp_water.T_h(p=p4,h=h4)
print(f"p4 = {round(float(p4),2)} kPa")
print(f"T4 = {round(float(T4),2)} K")
print(f"h4: {round(float(h4),2)} kJ/kg")
print(f"s4 = {round(float(s4),2)} kJ/(kg K)")
print(f"Trabajo requerido por la bomba II:
{round(float(w_p2),2)} kJ/kg")
p5 = p4
s5 = 6.6796
h5 = 3583.1
T5 = 600 + 273.15
print(f"p5 = {round(float(p5),2)} kPa")
print(f"T5 = {round(float(T5),2)} K")
print(f"h5: {round(float(h5),2)} kJ/kg")
print(f"s5 = {round(float(s5),2)} kJ/(kg K)")
p6 = 1200
s6 = s5
h6 = 2860.2
T6 = mp_water.T_h(p=p6,h=h6)
print(f"p6 = {round(float(p6),2)} kPa")
print(f"T6 = {round(float(T6),2)} K")
print(f"h6: {round(float(h6),2)} kJ/kg")
print(f"s6 = {round(float(s6),2)} kJ/(kg K)")
p7 = 10
s7 = s5
h7 = 2115.3
T7 = mp_water.T_h(p=p7,h=h7)
print(f"p7 = {round(float(p7),2)} kPa")
print(f"T7 = {round(float(T7),2)} K")
print(f"h7: {round(float(h7),2)} kJ/kg")
print(f"s7 = {round(float(s7),2)} kJ/(kg K)")
y = (h3 - h2)/(h6 - h2)
print(f"Fraccion de vapor extraido por la turbina =
{round(float(y),2)} ")
q_ent = h5 - h4
print(f"calor de entrada: {round(float(q_ent),2)} kJ/kg")
q_sal = (1 - y)*(h7 - h1)
print(f"calor rechazado por condensador:
{round(float(q_sal),2)} kJ/kg")
n_ter = (1 - (q_sal/q_ent)) * 100
print(f"eficiencia = {round(float(n_ter),3)} %")
T5_Lsat = mp_water.Ts(p=p5)
s5_Lsat = mp_water.ss(p=p5)[1]
T5_Vsat = mp_water.Ts(p=p5)[0]
s5_Vsat = mp_water.ss(p=p5)[0]
T6_Lsat = mp_water.Ts(p=p6)
s6_Lsat = mp_water.ss(p=p6)[1]
T6_Vsat = mp_water.Ts(p=p6)[0]
s6_Vsat = mp_water.ss(p=p6)[0]
x = np.array([s1, s2, s3, s4, s5_Vsat, s5_Lsat, s5, s6, s7,
s1])
y = np.array([T1, T1+1, T3, T4, T5_Vsat, T5_Lsat, T5, T6, T7,
T1])
x2 = np.array([s3, s6_Vsat, s6_Lsat, s6])
y2 = np.array([T3, T6_Vsat, T6_Lsat, T6])
p = np.linspace(1, 22063, 1000)
T = mp_water.Ts(p=p)
s = mp_water.ss(p=p)
plt.plot(x, y, 'black')
plt.plot(x2, y2, 'black')
plt.ylabel('Temperatura (K)')
plt.xlabel('Entropía (s)')
plt.title('Ciclo Rankine Ideal, Diagrama T-S')
plt.plot(s[0],T, 'b--')
plt.plot(s[1],T,'r--')
plt.show()

● Ejemplo 10.6 paso por paso.


Se tiene una central eléctrica de vapor que opera en un ciclo Rankine ideal regenerativo con
recalentamiento, equipada con un calentador abierto de agua de alimentación, otro cerrado y
un recalentador.

Se determinarán las fracciones de vapor extraído de la turbina y la eficiencia térmica. La


central eléctrica opera en un ciclo Rankine ideal regenerativo con recalentamiento y por lo
tanto las bombas y las turbinas son isentrópicas; no hay caídas de presión en la caldera, el
recalentador, el condensador y los calentadores de agua de alimentación; además, el vapor
sale del condensador y de los calentadores de agua de alimentación como líquido saturado.
Primero, se determinan las entalpías, y el trabajo de las bombas, en los diferentes estados:

Tabla No. 1. Entalpías y trabajo de las bombas.


ℎ1 191.81 KJ/kg

ℎ2 192.3 KJ/kg

ℎ3 640.09 KJ/kg

ℎ4 643.92 KJ/kg

ℎ5 1,087.4 KJ/kg

ℎ6 1,087.4 KJ/kg

ℎ7 1,101.2 KJ/kg

ℎ8 1,089.8 KJ/kg

ℎ9 3,155 KJ/kg

ℎ10 3,155 KJ/kg

ℎ11 3,674.9 KJ/kg

ℎ12 3,014.8 KJ/kg

ℎ13 2,335.7 KJ/kg

𝑊𝑏𝑜𝑚𝑏 𝐼, 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 0.49 KJ/kg

𝑊𝑏𝑜𝑚𝑏 𝐼𝐼, 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 3.83 KJ/kg

𝑊𝑏𝑜𝑚𝑏 𝐼𝐼𝐼, 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 13.77 KJ/kg

Las fracciones de vapor extraído se determinan a partir de los balances de masa y energía de
los calentadores de agua de alimentación.

- CAA cerrado:
𝐸𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = 𝐸𝑠𝑎𝑙𝑖𝑑𝑎
𝑦 * ℎ10 + (1 − 𝑦) * ℎ4 = (1 − 𝑦) * ℎ5 + 𝑦 * ℎ6
ℎ5−ℎ4 (1,087.4−643.92) 𝐾𝐽/𝑘𝑔
𝑦= (ℎ10−ℎ6)+(ℎ5−ℎ4)
= ((3,155−1,087.4)+(1,087.4−643.92))𝐾𝐽/𝑘𝑔
= 0. 176

- CAA abierto:
𝐸𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = 𝐸𝑠𝑎𝑙𝑖𝑑𝑎
𝑧 * ℎ12 + (1 − 𝑦 − 𝑧) * ℎ2 = (1 − 𝑦) * ℎ3
(1−𝑦)(ℎ3−ℎ2) (1−0.176)(640.09−192.3) 𝐾𝐽/𝑘𝑔
𝑧= ℎ12−ℎ2
= (3,014.8−192.3)𝐾𝐽/𝑘𝑔
= 0. 1306

La entalpía del estado 8 se determina al aplicar las ecuaciones de conservación de masa y


energía para la cámara de mezclado, la cual se considera que está aislada:

𝐸𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = 𝐸𝑠𝑎𝑙𝑖𝑑𝑎
ℎ8 = (1 − 𝑦) * ℎ5 + 𝑦 * ℎ7
ℎ8 = (1 − 0. 176) * 1, 087. 4 𝐾𝐽/𝑘𝑔 + 0. 176 * 1, 101. 2 𝐾𝐽/𝑘𝑔 = 1, 089. 8 𝐾𝐽/𝑘𝑔

Por consiguiente:

𝑄𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = (ℎ9 − ℎ8) + (1 − 𝑦)(ℎ11 − ℎ10)


𝑄𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = ((3, 583. 1 − 1, 089. 8) + (1 − 0. 176)(3, 674. 9 − 3, 155))𝐾𝐽/𝑘𝑔 = 2, 921. 4 𝐾𝐽/𝑘𝑔

𝑄𝑠𝑎𝑙𝑖𝑑𝑎 = (1 − 𝑦 − 𝑧)(ℎ13 − ℎ1)


𝑄𝑠𝑎𝑙𝑖𝑑𝑎 = (1 − 0. 176 − 0. 1306)(2, 335. 7 − 191. 81)𝐾𝐽/𝑘𝑔 = 1, 485. 3 𝐾𝐽/𝑘𝑔

y:

𝑄𝑠𝑎𝑙𝑖𝑑𝑎 1,485.3 𝐾𝐽/𝑘𝑔


𝛈𝑡𝑒𝑟 = 1 − 𝑄𝑒𝑛𝑡𝑟𝑎𝑑𝑎
= 1− 2,921.4 𝐾𝐽/𝑘𝑔
= 0. 492 * 100 = 49. 2%

● Código para el diagrama del ejemplo 10.6.


!pip install pyromat
import numpy as np
import matplotlib.pyplot as plt
import pyromat as pm
pm.config["unit_pressure"] = "kPa"
pm.config["def_p"] = 100
mp_water = pm.get("mp.H2O")
p1 = 10
s1 = 0.6492
T1 = mp_water.T_h(p=p1,h=h1)
h1 = 191.81
print(f"p1 = {round(float(p1),2)} kPa")
print(f"T1 = {round(float(T1),2)} K")
print(f"s1 = {round(float(s1),2)} kJ/(kg K)")
print(f"h1 = {round(float(h1),2)} kJ/kg")
p2 = 500
s2 = s1
w_p1 = 0.49
h2 = 192.3
T2 = mp_water.T_h(p=p2,h=h2)
print(f"Trabajo requerido por la bomba: {round(float(w_p1),2)}
kJ/kg")
print(f"p2 = {round(float(p2),2)} kPa")
print(f"T2 = {round(float(T2),2)} K")
print(f"h2 = {round(float(h2),2)} kJ/kg")
print(f"s2 = {round(float(s2),2)} kJ/(kg K)")
p3 = 500
s3 = 1.8604
T3 = mp_water.T_h(p=p3,h=h3)
h3 = 640.09
print(f"p3 = {round(float(p3),2)} kPa")
print(f"T3 = {round(float(T3),2)} K")
print(f"h3: {round(float(h3),2)} kJ/kg")
print(f"s3: {round(float(s3),2)} kJ/(kg k)")
p4 = 4000
s4 = s3
T4 = mp_water.T_h(p=p4,h=h4)
h4 = 643.92
w_p2 = 3.83
print(f"Trabajo requerido por la bomba: {round(float(w_p2),2)}
kJ/kg")
print(f"p4 = {round(float(p4),2)} kPa")
print(f"T4 = {round(float(T4),2)} K")
print(f"h4: {round(float(h4),2)} kJ/kg")
print(f"s4 = {round(float(s4),2)} kJ/(kg K)")
p5 = 4000
h5 = 1087.4
s5 = 2.7966
T5 = mp_water.T_h(p=p5,h=h5)
h5 = 1087.4
print(f"p5 = {round(float(p5),2)} kPa")
print(f"T5 = {round(float(T5),2)} K")
print(f"h5: {round(float(h5),2)} kJ/kg")
print(f"s5 = {round(float(s5),2)} kJ/(kg K)")
p6 = 4000
s6 = 2.7966
T6 = mp_water.T_h(p=p6,h=h6)
h6 = h5
print(f"p6 = {round(float(p6),2)} kPa")
print(f"T6 = {round(float(T6),2)} K")
print(f"h6: {round(float(h6),2)} kJ/kg")
print(f"s6 = {round(float(s6),2)} kJ/(kg K)")
p7 = 15000
s7 = s6
T7 = mp_water.T_h(p=p7,h=h7)
h7 = 1101.2
w_p3 = 13.77
print(f"Trabajo requerido por la bomba: {round(float(w_p3),2)}
kJ/kg")
print(f"p7 = {round(float(p7),2)} kPa")
print(f"T7 = {round(float(T7),2)} K")
print(f"h7 = {round(float(h7),2)} kJ/kg")
print(f"s7 = {round(float(s7),2)} kJ/(kg K)")
p8 = 15000
s8 = mp_water.ss(p=p5)[0]
T8 = mp_water.T_h(p=p8,h=h8)
h8 = 1089.8
print(f"p8 = {round(float(p8),2)} kPa")
print(f"T8 = {round(float(T8),2)} K")
print(f"h8 = {round(float(h8),2)} kJ/kg")
print(f"s8 = {round(float(s8),2)} kJ/(kg K)")
p9 = 15000
s9 = 6.6796
T9 = 600 + 273.15
h9 = 3155
print(f"p9 = {round(float(p9),2)} kPa")
print(f"T9 = {round(float(T9),2)} K")
print(f"h9 = {round(float(h9),2)} kJ/kg")
print(f"s9 = {round(float(s9),2)} kJ/(kg K)")
p10 = 4000
s10 = s9
h10 = h9
T10 = mp_water.T_h(p=p10,h=h10)
print(f"p10 = {round(float(p10),2)} kPa")
print(f"T10 = {round(float(T10),2)} K")
print(f"h10 = {round(float(h10),2)} kJ/kg")
print(f"s10 = {round(float(s10),2)} kJ/(kg K)")
p11 = 4000
s11 = 7.3706
T11 = 600 + 273.15
h11 = 3674.9
print(f"p11 = {round(float(p11),2)} kPa")
print(f"T11 = {round(float(T11),2)} K")
print(f"h11 = {round(float(h11),2)} kJ/kg")
print(f"s11 = {round(float(s11),2)} kJ/(kg K)")
p12 = 500
s12 = s11
h12 = 3014.8
T12 = mp_water.T_h(p=p12,h=h12)
print(f"p12 = {round(float(p12),2)} kPa")
print(f"T12 = {round(float(T12),2)} K")
print(f"h12 = {round(float(h12),2)} kJ/kg")
print(f"s12 = {round(float(s12),2)} kJ/(kg K)")
p13 = 10
s13 = s11
h13 = 2335.7
T13 = mp_water.T_h(p=p13,h=h13)
print(f"p13 = {round(float(p13),2)} kPa")
print(f"T13 = {round(float(T13),2)} K")
print(f"h13 = {round(float(h13),2)} kJ/kg")
print(f"s13 = {round(float(s13),2)} kJ/(kg K)")
y = (h5 - h4)/((h10 - h6) + (h5 - h4))
print(f"Fraccion de vapor extraido del calentador cerrado =
{round(float(y),2)} ")
z = ((1 - y)*(h3 - h2))/(h12 - h2)
print(f"Fraccion de vapor extraido del calentador abierto =
{round(float(z),2)} ")
q_ent = (h9 - h8) + ((1 - y)*(h11 - h10))
print(f"calor de entrada: {round(float(q_ent),2)} kJ/kg")
q_sal = (1 - y - z)*(h13 - h1)
print(f"calor rechazado por condensador:
{round(float(q_sal),2)} kJ/kg")
n_ter= 1 - (q_sal/q_ent)
print(f"eficiencia = {round(float(n_ter),3)} ")
T9_Lsat = mp_water.Ts(p=p9)
s9_Lsat = mp_water.ss(p=p9)[1]
T9_Vsat = mp_water.Ts(p=p9)[0]
s9_Vsat = mp_water.ss(p=p9)[0]
T10_Lsat = mp_water.Ts(p=p10)
s10_Lsat = mp_water.ss(p=p10)[1]
T10_Vsat = mp_water.Ts(p=p10)[0]
s10_Vsat = mp_water.ss(p=p10)[0]
T12_Lsat = mp_water.Ts(p=p12)
s12_Lsat = mp_water.ss(p=p12)[1]
T12_Vsat = mp_water.Ts(p=p12)[0]
s12_Vsat = mp_water.ss(p=p12)[0]
x1 = np.array([s1, s2, s3, s4, s5, s8, s7, s9_Vsat, s9_Lsat,
s9, s10, s11, s12, s13, s1])
y1 = np.array([T1, T1+1, T3, T4, T5, T8, T7, T9_Vsat, T9_Lsat,
T9, T10, T11, T12, T13, T1])
x2 = np.array([s7, s6, s10_Vsat, s10_Lsat, s10])
y2 = np.array([T7, T6, T10_Vsat, T10_Lsat, T10])
x3 = np.array([s3, s12_Vsat, s12_Lsat, s12])
y3 = np.array([T3, T12_Vsat, T12_Lsat, T12])
p = np.linspace(1, 22063, 1000)
T = mp_water.Ts(p=p)
s = mp_water.ss(p=p)
plt.plot(x1, y1, 'black')
plt.plot(x2, y2, 'black')
plt.plot(x3, y3, 'black')
plt.ylabel('Temperatura (K)')
plt.xlabel('Entropía (s)')
plt.title('Ciclo Rankine Ideal, Diagrama T-S')
plt.plot(s[0],T, 'b--')
plt.plot(s[1],T,'r--')
plt.show()

También podría gustarte