Температура точки росы воздуха — значение температуры воздуха, при которой водяной пар, содержащийся в воздухе, становится насыщенным.
Температура точки росы воздуха зависит от температуры воздуха и его относительной влажности.
Относительная влажность воздуха — отношение парциального давления водяного пара в воздухе к давлению насыщения водяного пара при данной температуре воздуха.
Значение равновесного давления насыщенных паров для заданной температры можно найти, используя класс SaturationCurve (см. https://zen.yandex.ru/media/id/5f33dcd5554adc5b33aaee83/temperatura-i-davlenie-nasyscennogo-vodianogo-para-5f366119f72e454a00999e31).
from saturationcurve import SaturationCurve
sc = SaturationCurve()
t = 20 #температура воздуха, С
p_sat = sc.p_t(t)
p_sat #давление насыщения водяного пара, Па
Если принять значение относительной влажности воздуха 60%, то парциальное давление водяного пара составит:
RH = 0.6 # Относительная влажнось воздуха
p_steam = RH * p_sat
p_steam #парциальное давление пара, Па
Температура точки росы равна температуре насыщения водяного пара при давлении равном парциальному давлению водяного пара в воздухе. Для воздуха температурой 20 С и относительной влажностью 60% температура точки росы составит:
t_dp = sc.t_p(p_steam) #градусы C, 'dp' - dew point, точка росы
t_dp # градусы С
#Модуль функции вычисления температуры точки росы
from saturationcurve import SaturationCurve
sc = SaturationCurve()
def calc_dew_point(t, RH):
#t - температура воздуха, С
#RH - относительная влажность воздуха в диапазоне [0.0; 1.0]
p_sat = sc.p_t(t)
p_steam = RH * p_sat
#Возвращает значение температуры точки росы, С
return sc.t_p(p_steam)
calc_dew_point(5.,0.8)
В классе SaturationCurve реализована расчётная методика из http://www.iapws.org/relguide/IF97-Rev.pdf (Раздел "8 Equations for Region 4"). Данные методика накладывает следующие ограничения на входные параметры:
#Формируем набор температур от 0 до 100 С с шагом 1 С (101 точка)
ts = list(range(0,101))
#Минимально допустимое значение относительной влажности для каждого значения температуры
RHs_min = []
for t in ts:
RHs_min.append(611.213 / sc.p_t(t) * 100)
#Построим график
import matplotlib.pyplot as plt
plt.plot(ts, RHs_min)
plt.title('Область допустимых значений входных параметров')
plt.xlabel('$t$, C'); plt.ylabel('$RH$, %')
plt.xlim (0,100); plt.ylim (0,100)
plt.fill_between(ts, [0]*101, RHs_min, color = 'red')
plt.fill_between(ts, [100]*101, RHs_min, color = 'green')
plt.grid()
Инженерные расчёты на Python, С.В. Медведев
https://zen.yandex.ru/id/5f33dcd5554adc5b33aaee83