Количество газового топлива потребляемого ГТУ¶
Периодически возникает потребность быстро определить количество газового топлива, потребляемого при работе ГТУ заданной мощности и КПД. Ниже приведены две группы графиков (для массового и для объёмного расходов), позволяющие это сделать.
Алгоритм определения расхода газового топлива следующий:
- Необходимые исходные данные:
- Мощность ГТУ;
- КПД ГТУ;
- Теплотворная способность (низшая теплота сгорания) газа - массовая (в МДж/кг) или объёмная (в МДж/м3).
- По зависимости расхода метана от мощности и КПД ГТУ для заданных параметров ГТУ определяется расход метана.
- Для теплотворной способности используемого газа находится поправочный коэффициент.
- Расход газа рассчитывается по формуле:
[Расход газа] = [Расход метана] * [Поправочный коэффициент]
Природный газ (газовое топливо) — смесь углеводородов, преимущественно метана, с небольшими примесями других газов.
Химическая формула метана - CH4. Атомная масса углерода (C) - 12, водорода (H) - 1. Масса одного моля метана 12 + 4 * 1 = 16 г/моль.
# Молярная масса метана CH4, г/моль
mu_CH4 = 12 + 4 * 1
mu_CH4 # г/моль
16
Согласно Таблице 3 ГОСТ 31369—2008 низшая теплота сгорания одного моля метана в диапазоне температур 0 С - +25 С составляет 803 кДж/моль.
# Низшая теплота сгорания одного моля метана в диапазоне температур 0 С - +20 С, кДж/моль
LHV_mu = 803 # кДж/моль
# Массовая низшая теплота сгорания (Low Heat Value) 1 кг метана
LHV_m = LHV_mu / mu_CH4 * 1000
LHV_m # кДж/кг
50187.5
При нормальных условиях (температура t = 0 C, давление p = 101325 Па) один моль идеального газа (для простоты мы будем считать метан и природный газ идеальными газами) занимает 22,4 литра.
t_н = 0 # температура при нормальных условиях, C
V_mu = 22.4 # объём одного моля любого газа при нормальных условиях, л/моль
В одном кубометре содержится 1000 литров, значит $1\ м^3$ метана при нормальных условиях имеет плотность
# Плотность метана при нормальных условиях, кг/м3
Плотность_CH4_н = mu_CH4 * 1000 / V_mu / 1000
Плотность_CH4_н # кг/м3
0.7142857142857143
Расход газа считается в кубометрах для стандартных условий определения (ГОСТ 34770-2021, температура t = 20 C, давление p = 101325 Па). При данных условиях плотность метана составит
t_со = 20 # температура при стандартных условиях определения, C
Плотность_CH4_со = Плотность_CH4_н * (t_н + 273.15) / (t_со + 273.15)
Плотность_CH4_со # кг/м3
0.665553958236885
В паспорте на газ объёмная теплотворная способность газа указывается для стандартных условиях сгорания (ГОСТ 34770-2021, температура t = 25 C, давление p = 101325 Па). При данных условиях плотность метана составит
t_сс = 25 # температура при стандартных условиях сгорания, C
Плотность_CH4_сс = Плотность_CH4_н * (t_н + 273.15) / (t_сс + 273.15)
Плотность_CH4_сс # кг/м3
0.6543925636664191
Плотность_CH4_н / Плотность_CH4_со, Плотность_CH4_н / Плотность_CH4_сс, Плотность_CH4_со / Плотность_CH4_сс
(1.0732198425773385, 1.0915248032216731, 1.0170561146170902)
Построим графики расхода метана в зависимости от мощности и КПД ГТУ.¶
import numpy as np
КПДы = np.array([0.25, 0.30, 0.35, 0.4]) # КПД ГТУ
Ns = np.linspace(25, 400) # мощность ГТУ, МВт
# Массовый расход газа, кг/с
Bs_m = np.array([[N / КПД / LHV_m * 1000 for КПД in КПДы] for N in Ns])
import matplotlib.pyplot as plt # библиотека для построения графиков
from matplotlib.ticker import MultipleLocator
plt.rcParams['font.size'] = 12.0
fig, ax = plt.subplots(figsize = (10,5))
ax.set_title("Массовый расход метана")
ax.set_xlabel('$N, МВт$'); ax.set_ylabel('$B_m, кг/с$')
ax.plot(Ns, Bs_m)
ax.xaxis.set_minor_locator(MultipleLocator(10))
ax.yaxis.set_minor_locator(MultipleLocator(0.5))
ax.grid(which='minor', color='gray', linewidth=0.2)
ax.grid(); ax.set_xlim(Ns[0], Ns[-1]); ax.set_ylim(0,20);
ax.legend(np.int8(КПДы*100), title = 'КПД ГТУ, %');
N1s = np.linspace(5, 200) # МВт
B1s_m = np.array([[N / КПД / LHV_m * 1000 for КПД in КПДы] for N in N1s])
fig, ax = plt.subplots(figsize = (10,5))
ax.set_title("Массовый расход метана")
ax.set_xlabel('$N, МВт$'); ax.set_ylabel('$B_m, кг/с$')
ax.plot(N1s, B1s_m)
ax.xaxis.set_minor_locator(MultipleLocator(5))
ax.yaxis.set_minor_locator(MultipleLocator(0.4))
ax.grid(which='minor', color='gray', linewidth=0.2)
ax.grid(); ax.set_xlim(0, N1s[-1]); ax.set_ylim(0,12);
ax.legend(np.int8(КПДы*100), title = 'КПД ГТУ, %');
LHVs_m = np.linspace(40, 60)
fig, ax = plt.subplots(figsize = (10,5))
ax.set_title("Поправочный коэффициент на массовую теплотворную способность")
ax.set_xlabel('$LHV_m, МДж/кг$'); ax.set_ylabel('$K^m_{LHV}$')
ax.plot(LHVs_m, LHV_m / LHVs_m / 1000)
ax.xaxis.set_minor_locator(MultipleLocator(0.5))
ax.yaxis.set_minor_locator(MultipleLocator(0.02))
ax.grid(which='minor', color='gray', linewidth=0.2)
ax.grid(); ax.set_xlim(LHVs_m[0], LHVs_m[-1]); ax.set_ylim(0.8,1.3);
# Объёмные теплотворные способности метана при различных стандартных условиях (температурах)
LHV_v_н = LHV_m * Плотность_CH4_н # нормальные условия
LHV_v_со = LHV_m * Плотность_CH4_со # стандартные условия определения
LHV_v_сс = LHV_m * Плотность_CH4_сс # стандартные условия сгорания
LHV_v_н, LHV_v_со, LHV_v_сс # кДж/м3
(35848.21428571429, 33402.489279013666, 32842.32678900841)
fig, ax = plt.subplots(figsize = (10,5))
ax.set_title("Объёмный расход метана (t = 20 C, p = 101325 Па)")
ax.set_xlabel('$N, МВт$'); ax.set_ylabel('$B_v, м^3/с$')
ax.plot(Ns, Bs_m / Плотность_CH4_со)
ax.xaxis.set_minor_locator(MultipleLocator(10))
ax.yaxis.set_minor_locator(MultipleLocator(1))
ax.grid(which='minor', color='gray', linewidth=0.2)
ax.grid(); ax.set_xlim(Ns[0], Ns[-1]); ax.set_ylim(0,35);
ax.legend(np.int8(КПДы * 100), title = 'КПД ГТУ, %');
fig, ax = plt.subplots(figsize = (10,5))
ax.set_title("Объёмный расход метана (t = 20 C, p = 101325 Па)")
ax.set_xlabel('$N, МВт$'); ax.set_ylabel('$B_v, м^3/с$')
ax.plot(N1s, B1s_m / Плотность_CH4_со)
ax.xaxis.set_minor_locator(MultipleLocator(5))
ax.yaxis.set_minor_locator(MultipleLocator(0.5))
ax.grid(which='minor', color='gray', linewidth=0.2)
ax.grid(); ax.set_xlim(N1s[0], 200); ax.set_ylim(0,20);
ax.legend(np.int8(КПДы * 100), title = 'КПД ГТУ, %');
LHVs_v = np.linspace(30, 50) # МДж/м3
fig, ax = plt.subplots(figsize = (10,5))
ax.set_title("Поправочный коэффициент на объёмную теплотворную способность")
ax.set_xlabel('$LHV_v, МДж/м^3$'); ax.set_ylabel('$K^v_{LHV}$')
ax.plot(LHVs_v, LHV_v_сс / LHVs_v / 1000)
ax.xaxis.set_minor_locator(MultipleLocator(0.5))
ax.yaxis.set_minor_locator(MultipleLocator(0.02))
ax.grid(which='minor', color='gray', linewidth=0.2)
ax.grid(); ax.set_xlim(LHVs_v[0], LHVs_v[-1]); ax.set_ylim(0.6,1.1);
Ссылки¶
- ГОСТ 31369-2008 Газ природный. ВЫЧИСЛЕНИЕ ТЕПЛОТЫ СГОРАНИЯ, ПЛОТНОСТИ, ОТНОСИТЕЛЬНОЙ ПЛОТНОСТИ И ЧИСЛА ВОББЕ НА ОСНОВЕ КОМПОНЕНТНОГО СОСТАВА.
- ГОСТ 34770-2021 ГАЗ ПРИРОДНЫЙ. Стандартные условия измерения и вычисления физико-химических свойств.
- ГОСТ 2939-63 ГАЗЫ. УСЛОВИЯ ДЛЯ ОПРЕДЕЛЕНИЯ ОБЪЕМА.
Инженерные расчёты на Python, С.В. Медведев, 2020-2024
Использование Python и Jupyter Notebook для инженерных расчётов, С.В. Медведев, 2020-2024