При проведении гидравлических расчётов для вычисления потерь полного давления в каком либо элементе трубопровода необходимо иметь значение его суммарного коэффициента сопротивления, который равен сумме значений коэффициента сопротивления трения и коэффициента местного сопротивления.
В справочных данных по запорной арматуре в качестве параметра, характеризующего гидравлическое сопротивление, приводится значение пропускной способности $K_V$.
Пропускная способность элемента трубопровода $K_V$ - значение, равное расходу жидкости, $м^3/ч$, плотностью 1000 $кг/м^3$, протекающей через элемент трубопровода при перепаде давления на нём 0,1 МПа.
Потери давления через суммарный коэффициент сопротивления находятся по формуле:
$$\Delta p = \zeta_{сум} \frac{\rho w^2}{2}$$отсюда $$\zeta_{сум} = \frac{2 \Delta p}{\rho w^2} \ \ \ \ \ \ (1)$$
где $\zeta_{сум}$ - искомый суммарный коэффициент сопротивления, $\Delta p = 10^5$ Па (см. определение пропускной способности выше) - потери давления, $\rho=1000$ $кг/м^3$ - плотность среды, $w$ - скорость движения среды плотностью 1000 $кг/м^3$ внутри трубопровода на котором установлен рассматриваемый элемент, $м/с$, при объёмном расходе $K_V$.
$$w = Q / F,$$где $Q$ - объёмный расход среды, $м^3/c$, $F$ - площадь внутреннего сечения трубопровода на котором установлен рассматриваемый элемент, $м^2$.
$K_V$ - это объёмный расход в $м^3/ч$, тогда $Q = K_V/3600$.
Подставив выведенные выше выражения в формулу (1), получим:
2e5 / 1000 * 3600**2 / 1e6
2592.0
В итоге искомое выражение принимает вид:
$$\zeta_{сум} = 2592\cdot 10^6 \left(\frac{ F}{K_V}\right)^2$$где $$F = \frac{\pi(D-2h)^2}{4}\cdot 10^{-6},$$
где $D$ - внешний диаметр трубопровода, мм; $h$ - толщина стенки трубопровода, мм. Например, для трубопровода 108х5: внешний диаметр 108 мм, толщина стенки 5 мм.
from sympy import *
Обозначения переменных:
rc - суммарный коэффициент сопротивления $\zeta_{сум}$ (rc - сокращённо от resistance coefficient)
dp - потери давления $\Delta p$, Па
rho - плотность $\rho$, $кг/м^3$
Q - расход, $м^3/с$
Kv - пропускная способность $K_V$, $м^3/ч$
w - скорость $w$, $м/с$
F - площадь внутреннего сечения трубопровода, $м^2$
D - внешний диаметр трубы, $мм$
h - толщина стенки трубы, $мм$
#Создаём символьные переменные
Q, Kv, w, F = symbols('Q K_V w F')
D, h, pi = symbols('D h pi')
dp = 1e5 #из определения Kv, Па
rho = 1e3 #из определения Kv, кг/м3
F = pi * (D - 2 * h) ** 2 / 4 * 1e-6
F
Q = Kv / 3600
Q
w = Q / F
w
#Записываем формулу (1)
rc = 2 * dp / (rho * w **2)
#и выводим окончательный результат
rc
#Присваиваем pi числовое значение и обновляем выражения, где фигурировало pi
import math #возьмём значение pi из модуля math
pi = math.pi
F = pi * (D - 2 * h) ** 2 / 4 * 1e-6
F
w = Q / F
w
#формула для вычисления суммарного коэффициента сопротивления по Kv
rc = 2 * dp / (rho * w **2)
rc
rc * 1e3 ** 4
#Можно найти значение коэффициена сопротивления для конкретных значений Kv, D, h
rc.subs([(D, 108), (h, 5), (Kv, 100)])
#Зависимость коэффициена сопротивления от Kv для трубопровода 108х5
rc_Kv = rc.subs([(D, 108), (h,5)])
rc_Kv
Kvs = list(range(10, 101, 5))
rcs = []
for kv in Kvs:
rcs.append(rc_Kv.subs(Kv, kv))
Kvs #м3/ч
[10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
rcs
[1474.75223392043, 655.445437297970, 368.688058480108, 235.960357427269, 163.861359324492, 120.387937462892, 92.1720146200270, 72.8272708108856, 58.9900893568173, 48.7521399643118, 40.9653398311231, 34.9053783176434, 30.0969843657231, 26.2178174919188, 23.0430036550068, 20.4117956251963, 18.2068177027214, 16.3407449741876, 14.7475223392043]
#Создадим таблицу
import pandas as pd
table = pd.DataFrame({'Kv, м3/ч': Kvs, '$\zeta_{сум}$': rcs})
table
Kv, м3/ч | $\zeta_{сум}$ | |
---|---|---|
0 | 10 | 1474.75223392043 |
1 | 15 | 655.445437297970 |
2 | 20 | 368.688058480108 |
3 | 25 | 235.960357427269 |
4 | 30 | 163.861359324492 |
5 | 35 | 120.387937462892 |
6 | 40 | 92.1720146200270 |
7 | 45 | 72.8272708108856 |
8 | 50 | 58.9900893568173 |
9 | 55 | 48.7521399643118 |
10 | 60 | 40.9653398311231 |
11 | 65 | 34.9053783176434 |
12 | 70 | 30.0969843657231 |
13 | 75 | 26.2178174919188 |
14 | 80 | 23.0430036550068 |
15 | 85 | 20.4117956251963 |
16 | 90 | 18.2068177027214 |
17 | 95 | 16.3407449741876 |
18 | 100 | 14.7475223392043 |
#Сохранение результатов расчёта в csv-файл:
#table.to_csv('Коэффициент сопротивления от Kv.csv', sep = ';')
#Сохранение результатов расчёта в html-файл:
#table.to_html('Коэффициент сопротивления от Kv.html')
#Нарисуем график
import matplotlib.pyplot as plt
plt.plot(Kvs, rcs, 'o-')
plt.title('Зависимость $\zeta_{сум}$ от $K_V$ для трубопровода 108х5' )
plt.xlabel('$K_V, м^3/ч$'); plt.ylabel('$\zeta_{сум}$')
plt.xlim (0,100), plt.ylim (0,)
plt.grid()
Инженерные расчёты на Python, С.В. Медведев, 2020
Использование Python и Jupyter Notebook для инженерных расчётов, С.В. Медведев, 2020