Энергетический КПД показывает какая часть поступающей в котёл-утилизатор (КУ) тепловой энергии была использована в технологическом процессе.
Значение эксергетического КПД говорит о качестве преобразования в КУ полученной тепловой энергии.
Эксергия (работоспособность) - это максимально возможная работа, которую теоретически может совершить термодинамическая система при переходе из заданного состояния в состояние равновесия с окружающей средой.
Максимальный КПД, который можно получить при преобразовании теплоты в работу при температуре источника теплоты $T_1$ (градусы Кельвина) и температуре приёмника теплоты от рабочего тела $T_2$ (К), равен КПД цикла Карно.
$$\eta_к = \frac{T_1-T_2}{T_1} $$Величина максимально возможной работы, которую система может совершить при подводе к ней теплоты $Q$ от источника с температурой $T_1$ и отводе теплоты при температуре окружающей среды $T_{ос}$ определяется по формуле Карно-Клазиуса:
$$L = Q \eta_к$$где $L$ - работа, Дж; $\eta_к = (T - T_{ос}) / T$; $T$ - температура (K) источника теплоты $Q$ (Дж), передаваемой рабочему телу; $T_{ос}$ - температура окружающей среды, К.
Из формулы видно, что при неизменной температуре окружающей среды чем ниже температура источника теплоты, тем меньшую величину работы может совершить система. Таким образом качество (эксергия) Джоуля теплоты определяется значением $\eta_к$:
$$e_т = Q\eta_к$$где $e_т$ - эксергия теплоты Q (Дж), отводимой от источника теплоты температурой $T$ (K) при заданной температуре окружающей среды $T_{ос}$ (K).
import numpy as np
t_ос = 15 # температура окружающей среды
T_ос = t_ос + 273.15
ts = np.linspace(t_ос, 1000., 50)
Ts = ts + 273.15
КПДs_Карно = (Ts - T_ос) / Ts
import matplotlib.pyplot as plt # библиотека для построения графиков
plt.rcParams['font.size'] = 12.0
fig, ax = plt.subplots(figsize = (7,4))
ax.set_xlabel('$t$, C'); ax.set_ylabel('$\eta_К$')
ax.set_title('КПД цикла Карно при $t_{ос} = 15\,^\circ$C')
ax.grid(); ax.set_ylim(0.,КПДs_Карно[-1]+0.02); ax.set_xlim(0, ts[-1]);
ax.plot(ts, КПДs_Карно);
В КУ источником теплоты являются уходящие (выхлопные) газы ГТУ. Температура выхлопных газов по мере отдачи ими теплоты снижается, т.е. теплота передаётся при переменной температуре источника.
$$e_т = \int\limits_T^{T_{ос}} \left(1 - \frac{T_{ос}}{T}\right)dQ = c_p\int\limits_{T_{ос}}^T \left(1 - \frac{T_{ос}}{T}\right)dT = c_p (T - T_{ос} - T_{ос} (\ln(T) - \ln(T_{ос}))$$В определённом интеграле выше пределы $T$ и $T_{ос}$ переставлены местами т.к. изменение температуры $dT < 0$.
Эксергия теплоты, передаваемой рабочему телу при уменьшающейся от $T$ до $T_{ос}$ температуре источника теплоты:
$$e_т^{гту} = c_p (T - T_{ос}(1 + (\ln(T) - \ln(T_{ос}))))$$где $e_т^{гту}$ - эксергия выхлопных газов ГТУ; $T$ - температура выхлопных газов ГТУ на входе в КУ, К.
В КУ вырабатывается пар определённого давления, который может быть использован для совершения работы (в частности для привода паровой турбины). Формула эксергии потока рабочего тела:
$$e_п = h - h_{ос} - T_{ос}(s - s_{ос})$$где $h$ (кДж/кг), $s$ (кДж/кг/К) - энтальпия и энтропия рабочего тела на выходе из КУ, $h_{ос}$, $s_{ос}$ - энтальпия и энтропия рабочего тела при температуре и давлении окружающей среды.
cp_уг = 1037 # изобарная теплоёмкость уходящих газов ГТУ (к-нт избытка воздуха равен 3, см. [1]), Дж/кг/К
p_ос = 101320 # давление окружающей среды
p = p_ос # давление выхлопных газов перед КУ
Параметры уходящих газов возьмём для ГТЭ-25П (разработчик – АО «ОДК-Авиадвигатель»):
T_уг = 473 + 273.15 # температура уходящих газов ГТУ, К
G_уг = 76.7 # массовый расход уходящих газов ГТУ, кг/с
# Тепловая мощность выхлопных газов
Q_уг = cp_уг * G_уг * (T_уг - T_ос)
Q_уг / 1e6 # МВт
36.428358200000005
from math import log # натуральный логорифм
def fEx_т(cp, T):
# расчёт эксергии, Дж/кг
# cp: удельная деплоёмкость при постоянном давлении, Дж/кг/К
# Т: температура, К
return cp *(T - T_ос - T_ос * (log(T) - log(T_ос)))
Ex_уг = fEx_т(cp_уг, T_уг) # эксерния уходящих газов ГТУ, Дж/кг
G_уг * Ex_уг / 1e6 # эксергия, МВт
14.62232600207295
from wsprops import HSDiag # см. [2]
hs = HSDiag()
def fEx_пар(T, p):
"""
Расчёт эксергии потока водяного пара, Дж/кг
T: температура пара, К
p: давление пара, Па
return: эксергия потока водяного пара, Дж/кг
"""
props_пар = hs.props_Tp(T, p)
h_пар = props_пар['h']
s_пар = props_пар['s']
props_пар_ос = hs.props_Tp(T_ос, p_ос)
h_пар_ос = props_пар_ос['h']
s_пар_ос = props_пар_ос['s']
return h_пар - h_пар_ос - T_ос * (s_пар - s_пар_ос)
from hrsg1p import HRSG1p # см. [3]
hrsg = HRSG1p(G_уг, T_уг - 273.15, t_к = 45) # объект КУ
ps = np.linspace(0.2, 16, 101) * 1e6
effs_ex_ext = np.zeros_like(ps) # внешний эксергетический КПД
effs_ex_int = np.zeros_like(ps) # внутренний эксергетический КПД
effs_ex = np.zeros_like(ps) # эксергетический КПД
effs_Q = np.zeros_like(ps) # энергетический КПД
ts_уг = np.zeros_like(ps) # температура уходящих из КУ газов, С
for i, p in enumerate(ps):
hrsg.p_пп = p # задаём давление пара на выходе КУ
hrsg.calc() # расчёт параметров КУ
Ex_уг_КУ = fEx_т(cp_уг, hrsg.ts_уг[3] + 273.15)
effs_ex_ext[i] = 1 - Ex_уг_КУ / Ex_уг
effs_ex[i] = hrsg.D_пв * fEx_пар(hrsg.ts_пв[0]+273.15, p)/ (Ex_уг * G_уг)
effs_ex_int[i] = hrsg.D_пв * fEx_пар(hrsg.ts_пв[0]+273.15, p)/ ((Ex_уг - Ex_уг_КУ) * G_уг)
effs_Q[i] = hrsg.D_пв * (hrsg.hs_пв[0] - hrsg.hs_пв[3]) / Q_уг
ts_уг[i] = hrsg.ts_уг[3]
#https://stackoverflow.com/questions/5484922/secondary-axis-with-twinx-how-to-add-to-legend
fig, ax = plt.subplots(figsize = (8,5))
ax.set_xlabel('$p$, МПа'); ax.set_ylabel('$\eta$')
ax2 = ax.twinx(); ax2.set_ylabel('$t_{уг}^{КУ},\,\degree C$')
lns1 = ax.plot(ps/1e6, effs_Q, label='Энергетический КПД')
lns2 = ax.plot(ps/1e6,effs_ex_ext, label='Внешний эксергетический КПД')
lns3 = ax.plot(ps/1e6, effs_ex_int, label='Внутренний эксергетический КПД')
lns4 = ax.plot(ps/1e6, effs_ex, label='Эксергетический КПД')
lns5 = ax2.plot(ps/1e6,ts_уг, label='Температура уходящих газов КУ', color = 'black')
lns = lns1+lns2+lns3+lns4+lns5
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc=8)
ax.set_title('КПД парового котла-утилизатора')
ax.grid(); ax.set_xlim(0,ps[-1]/1e6); ax.set_ylim(0.2, max(effs_ex_ext)*1.02);
Энергетический и внешний эксергетический КПД КУ снижаются по мере роста давления пара на выходе из КУ из-за увеличения температуры уходящих из КУ газов. При неизменной температуре уходящих газов данные КПД были бы постоянными. Внутренний эксергетический КПД показывает степень необратимости (качество) происходящих в КУ процессов преобразования теплоты. Чем больше разность между температурой источника теплоты и температурой рабочего тела, к которому передаётся теплота от источника, тем больше потери эксергии в процессе теплопередачи и тем выше степень необратимости процесса.
Эксергетический КПД КУ равен произведению внешнего и внутреннего эксергетических КПД КУ:
# Проверим это уверждение
i = int (len(effs_ex_int) / 2) # выберем точку в середиине диапазона давлений
round(effs_ex_int[i] * effs_ex_ext[i], 14) == round(effs_ex[i], 14)
True
# Максимальное значение эксергетического КПД, %
round(max(effs_ex) * 100, 1)
69.7
# Давление пара (МПа) при котором эксергетический КПД максимален
ps[np.where(effs_ex == max(effs_ex))[0][0]]/1e6
1.78
t_в_вх = 70; t_в_вых = 100 # температура сетевой воды на входе и выходе КУ, С
T_в_вх = t_в_вх + 273.15; T_в_вых = t_в_вых + 273.15;
t_уг_КУ = 110 # температура уходящих газов из КУ
p_в = 1e6 # давление сетевой воды, Па
Q_вк = cp_уг * G_уг * (T_уг - (t_уг_КУ + 273.15))
Q_вк / 1e6 #тепловая мощность водогрейного КУ, МВт
28.872257700000002
КПД_эн = Q_вк / Q_уг
round(КПД_эн * 100, 1)
# Энергетический КПД водогрейного КУ, %
79.3
h_в_вх = hs.props_tp(t_в_вх, p)['h']
h_в_вых = hs.props_tp(t_в_вых, p)['h']
D_в = Q_вк / (h_в_вых - h_в_вх)
# Расход сетевой воды
D_в, D_в * 3.6
#кг/с, т/ч
(230.9587166299241, 831.4513798677268)
#Теплоёмкость воды
cp_в = (hs.props_tp(t_ос, p_ос)['cp'] + hs.props_tp(t_в_вых, p_ос)['cp'])/ 2
#Эксергия теплоты сетевой воды на выходе КУ
Ex_вк_вых = fEx_т(cp_в, T_в_вых)
#Эксергия теплоты сетевой воды на входе КУ
Ex_вк_вх = fEx_т(cp_в, T_в_вх)
КПД_экс = D_в * (Ex_вк_вых - Ex_вк_вх) / (G_уг * Ex_уг)
round(КПД_экс * 100, 1)
# Эксергетический КПД водогрейного котла утилизатора, %
28.9
Инженерные расчёты на Python, С.В. Медведев, 2020-2021
Использование Python и Jupyter Notebook для инженерных расчётов, С.В. Медведев, 2020-2021