Методы решения инженерных задач
Пакет CoolProp
Различные физико-химические свойства веществ, участвующих в процессе составляют большую часть необходимых для проектирования данных. Для описания термодинамических данных обычно используют уравнение состояния. Соотношения Максвелла позволяют выразить через уравнение состояния все термодинамические свойства. В данной лабораторной работе изучим пакет CoolProp. Данный пакет позволяет определять термодинамические свойства веществ (для некоторых веществ еще коэффициенты теплопроводности и вязкости).
Пакет ориентирован на определение свойств чистых веществ. Список всех веществ можно можно посмотреть на сайте проекта. Среди веществ наиболее часто использующиеся растворители, спирты, углеводороды, хладагент. Также есть свойства воды в широкой области состояния до температуры 1200 К и давлении 10000 бар. Вода используется в химической технологии как растворитель и теплоноситель.
using CoolProp #подключим пакет
Свойства чистых веществ
Для однозначного задания состояния системы необходимо понять сколько характеристик системы мы должны задать.
Для этого используется правило фаз Гиббса:
где - число степеней свободы, - число компонентов, - число фаз.
Данное уравнение записано для случая отсутствия химических реакций. В случае наличия химических реакций число степеней свободы будет меньше на количество реакций связывающих концентрации веществ.
Однофазная область
Так, для чистого вещества, находящегося в однофазной области число степеней свободы будет равно 2:
Это означает, что состояние системы будет определяться двумя какими-либо термодинамическими характеристиками.
Для примера найдем плотность воды при температуре 20 и атмосферном давлении.
ρ = PropsSI("D", "T", 273.15 + 20, "P", 101325.0, "water")
В данной функции на первом месте в текстовой переменой определяется то свойство, которые мы хотим определить. В данном случае "D" обозначает density - плотность. Большинство названий термодинамических характеристик соответствуют принятым в термодинамике обозначениям:
- H - энтальпия
- S - энтропия
- D - плотность
- T - температура
- P - давление
полный список термодинамических свойств можно найти сайте проекта.
Далее необходимо указать текстовую переменную и значение двух (по количеству числа степеней свободы) условий при котором необходимо определить свойство. Все значения в данном пакете используют единицы измерения СИ.
На последнем месте стоит текстовая переменная которая содержит название вещества.
Задавать условия, при которых необходимо определить свойтсва можно не только через температуру и давление. В пакете реализована возможность определения множества часто испольуземых комбинаций.
Например определим удельную энтальпию воды при температуре 20 и атмосферном давлении.
h = PropsSI("H", "T", 20 + 273.15, "P", 101325.0, "water")
При увеличении энтальпии на 100кДж на килограм воды при изобарных условиях поменяется температура воды. Для определения этой температуры можно в качестве определяющих параметров задать известную энтальпию и давление.
PropsSI("T", "H", h + 100000, "P", 101325.0, "water")
Условия парожидкостного равновесия
При равновесии пара и жидкости чистого компонента число степеней свободы будет равно 1:
Таким образом для однозначного определения состояния системы необходимо задать только одну величину. Однако необходимо указать, что мы рассчитываем условия равновесия. В пакете CoolProp задать условие парожидкостного равновесия можно задав величину мольной доли паровой фазы . Она показывает какая доля вещества находится в паровой фазе. Если то все вещество находится в жидком состоянии, если то в паровом.
Например определим температуру кипения воды при атмосферном давлении.
Tₖ = PropsSI("T", "P", 101325, "Q", 1, "water")
В цельсиях:
Tₖ - 273.15
Второй пример, определим давление пара при температуре 150.
pₖ = PropsSI("P", "T", 150 + 273.15, "Q", 1, "water")
В условиях равновесия давление паровой и жидкой фазы будет одинаковым:
PropsSI("P", "T", 150 + 273.15, "Q", 0, "water")
Значение может принимать значение от 0 до 1 и в зависимости от доли паровой фазы свойства системы будут отличаться. Построим график изменения плотности смеси паро-жидкостной смеси от доли паровой фазы при атмосферном давлении.
using Plots
Q = 0:0.01:1
ρᵥₗ = PropsSI.("D", "P", 101325.0, "Q", Q, "water");
plot(Q,ρᵥₗ, label="")
xlabel!("Q")
ylabel!("ρ, кг/м³")
Смеси
CoolProp очень хорошо описывает свойства чистых веществ. Также пакет CoolProp позволяет рассчитывать свойства смесей. Но данную возможность необходимо использовать аккуратно, и проводить сравнение с экспериментальными данными проводя проверку адекватности модели.
При увеличении количества компонентов в смеси увеличивается количество степеней свободы.
например для трехкомпонентной смеси в однофазной области:
Таким образом кроме двух условий необходимо еще задать мольных долей (n - количество компонентов)
Мольная доля компонентов задается в тестовой переменной. Например найдем плотности смеси вода - этанол с мольной долей воды 0.5 при температуре 20 и атмосферном давлении.
PropsSI("D", "T", 20 + 273.15, "P", 101325.0, "water[0.5]ðanol[0.5]")