Scientific journal
Scientific Review. Technical science
ISSN 2500-0799
ПИ №ФС77-57440

AUTOMATION OF CIRCULAR THERMODYNAMIC CYCLE CALCULATION

Ilichev V.Yu. 1 Fedin R.R. 1
1 Bauman Moscow State Technical University
The article is devoted to the description of studies aimed at creating means of automated determination of parameters of a circular thermodynamic cycle for an ideal gas. First, brief information is given about the features of circular (closed) cycles used in thermal engines. Next, the purpose and tasks solved during the study are formulated. The requirements for the software product with which the automation of calculations should be carried out are determined. To create the program, a free Python language was chosen, which allows you to perform variable calculations of cycles at different initial thermophysical parameters and for various gaseous working bodies. The program is written on the basis of the calculation method given in the literature, however, the calculation of thermophysical values was carried out using a special library of functions PropSI.CoolProp. Plug-ins were also used: to create the user interface of the Tkinter program, fill the arrays with Numpy calculation data, present the results in numerical and graphical form Threading and Pyplot.Matplotlib. The program code is distinguished by clarity and ease of study. The user interface allows you to easily change the source data, quickly obtain and verify results, as well as draw conclusions about the perfection of thermodynamic cycles based on the calculation of their thermal efficiency. This leads to a significant simplification and acceleration of the calculation of cycles of widely used gas turbine power plants and thereby makes it possible to improve the quality of their design. Conclusions were made based on results of presented work and recommendations were given for its further use.
circular cycle
gas turbine plant
thermophysical parameters
Python language
CoolProp library

Одним из основных предметов термодинамики является изучение протекания процессов по так называемым круговым или замкнутым циклам [1], в результате которых параметры рабочего тела постоянно возвращаются к исходным значениям. Для идеальных газов такие циклы состоят из следующих отдельных равновесных процессов: изобарного (при протекании которого давление газа p = const), изотермического (температура T = const), изохорного (удельный объем v = const), адиабатного (без подвода и отвода теплоты), изоэнтропного (подвод или отвод теплоты при неизменной энтропии S). Все эти процессы рассматриваются в предположении, что подвод или отвод теплоты (если он есть) является неизменным с течением времени (все процессы являются политропными) [2].

Круговой цикл является циклом теплового двигателя [3] при выполнении условий:

− последовательность протекания процессов в цикле, изображенном в p-v, T-S (температура-энтропия) или I-S (энтальпия-энтропия) диаграмме, осуществляется по часовой стрелке;

− присутствует подвод теплоты к рабочему телу от внешнего источника;

− совершается положительная работа.

Один из самых распространенных круговых циклов теплового двигателя, в котором рабочим телом является идеальный газ (теоретически любой), так и называется – цикл газотурбинного двигателя (ГТУ). Рассмотрим цикл ГТУ, изображенный в p-v координатах (рис. 1).

missing image file

Рис. 1. p-v диаграмма кругового цикла газотурбинного теплового двигателя

Данный цикл состоит из следующих термодинамических процессов:

1–2 – политропное сжатие газа в компрессоре, при котором затрачивается работа;

2–3 – изобарный подвод теплоты Qп в камере сгорания ГТУ;

3–4 – адиабатное расширение газа в турбине, совершающей полезную работу (идущую, например, на привод электрогенератора);

4–1 – изобарный отвод теплоты от газа Qо в теплообменном аппарате.

Целью данной работы являлось создание расчетной программы для последовательного определения термодинамических параметров заданного газа в ключевых точках кругового цикла, которые необходимо вывести на экран компьютера. По результатам расчета необходимо определить:

− работу расширения (сжатия) газа во всех четырех политропных процессах;

− работу цикла lц, равную площади внутри цикла в p-v координатах (рис. 1), которую также можно найти как сумму работ всех политропных процессов;

− теплоту для каждого политропного процесса (кроме адиабатного процесса 3–4);

− разность подведенной и отведенной теплоты, которую необходимо сравнить с работой цикла (должны совпадать):

lw = Qn – Q0;

− термический КПД цикла;

ηt = lц / Qn .

После этого необходимо осуществить автоматизированное графическое построение цикла в p-v и I-S координатах.

Основными требованиями, предъявляемыми к расчетной программе, являются следующие:

− выбор методики расчета кругового цикла ГТУ для идеального газа;

− выбор свободно распространяемого языка программирования для наиболее простого осуществления расчетов и возможной последующей модернизации создаваемого программного продукта, а также для возможности изучения кода программы всеми желающими;

− создание удобного интерфейса пользователя для ввода исходных данных (с возможностью выбора разных газообразных рабочих тел) и проведения вычислений;

− визуализация результатов в наглядной численной и графической форме.

Материалы и методы исследования

В качестве основной методики для создания компьютерной программы использован алгоритм расчета, приведенный в книге [4]. Там же приведен пример, позволяющий проверить результат каждого расчетного действия.

Автор имеет большой опыт программирования на чрезвычайно распространенном языке Python [5], для которого к тому же существуют библиотеки функций (программные модули), позволяющие определять теплофизические свойства любых простых (однокомпонентных) газов, создавать и заполнять массивы данных результатами расчетов и осуществлять их вывод как в численной, так и в наглядной графической форме. Также язык Python славится простотой написания программного кода и широкими возможностями по созданию интерфейсов пользователя практически любой степени сложности. То есть этот язык программирования идеально подходит по всем сформулированным выше требованиям к расчетной программе.

Перечислим подключаемые библиотеки функций, использованные в программе:

1) модуль Tkinter [6], на основе которого создавался интерфейс пользователя, состоящий из программного окна, в котором размещаются поля ввода исходных данных, поле выбора газа (чекбокс), текстовые данные (надписи), а также кнопки, при нажатии на которые осуществляется расчет с последующим выводом результатов в отдельные окна;

2) подмодуль PropsSI модуля CoolProp [7], позволяющий вычислять теплофизические параметры в системе СИ (температуры, давления, удельные объемы, различные виды теплоемкости, энтальпии, энтропии и т.д.) для выбранного газа;

3) модуль Numpy [8] для создания массивов и заполнения их данными, полученными в результате расчетов, с целью дальнейшего их использования для построения графических зависимостей;

4) подмодуль Pyplot модуля Matplotlib, предназначенный для визуализации данных в виде графиков, оформленных согласно требованиям к представлению научной информации;

5) модуль Threading [9], позволяющий запускать одновременно несколько программных процессов, что необходимо для открытия дополнительного окна с выводом результатов расчета в численном виде.

После подключения в коде программы перечисленных библиотек функций, было осуществлено проектирование наиболее удобного интерфейса пользователя. Созданный интерфейс программы с введенными исходными данными для расчета примера, приведенного в книге [4], показан на рис. 2.

missing image file

Рис. 2. Интерфейс программы расчета кругового цикла газотурбинного теплового двигателя

Интерфейс позволяет осуществлять ввод следующих данных: давление газа за компрессором p2 (давление и температура газа перед компрессором в программе прописаны равными параметрам атмосферы – p1 = 1 атм и T1 = 273,15 К), температура газа перед турбиной T3, показатели политропны для процессов в компрессоре и в камере сгорания. Также из всплывающего списка можно выбрать газ, используемый в качестве рабочего тела. Значения в полях ввода являются редактируемыми; таким образом можно осуществлять расчеты с любыми исходными параметрами.

При нажатии на программную кнопку «Расчет параметров» осуществляется присвоение соответствующим переменным значений, указанных в полях ввода интерфейса, и производится расчет термодинамических параметров цикла, перечисленных в задачах исследования. Затем результаты расчета выводятся в отдельном окне, благодаря использованию функций модуля Threading.

Особенностью реализации методики расчета в среде программирования Python является широкое использование модуля CoolProp для определения практически всех теплофизических параметров цикла (расчет любого необходимого параметра осуществляется по заданным двум известным параметрам и по приведенному в каждой команде PropsSI.CoolProp рабочему телу – в примере это кислород).

При нажатии на вторую программную кнопку «pv и IS диаграммы» также производится расчет параметров в узловых точках цикла 1–4 (рис. 1) и с помощью команд подмодуля Pyplot.Matplotlib на экран компьютера и в файлы выводятся последовательно графики рассчитанного цикла в p-v и I-S координатах.

Результаты исследования и их обсуждение

Показанные в интерфейсе программы на рис. 2 (заданные по умолчанию при запуске программы) исходные данные использовались для расчета примера по указанной выше методике. Рассмотрим результаты расчета, получаемые в численном и графическом виде после нажатия кнопок в интерфейсе.

На рис. 3 показаны результаты расчета, появляющиеся в специальном окне после нажатия на кнопку «Расчет параметров».

В окно выводятся только основные результаты – удельные объемы, температуры, давления в ключевых точках цикла, работа, произведенная в термодинамических процессах, и работа цикла в целом, а также соответствующее подведенное или отведенное количество теплоты. Из результатов видно, что работа и теплота цикла практически совпадают (разница составляет лишь 0,86 %), что указывает на правильность выполненных расчетов. Также в окне показан вычисленный термический КПД цикла, составляющий 32 %.

missing image file

Рис. 3. Основные расчетные параметры цикла

На рис. 4 и 5 выведены графические изображения цикла, полученные при нажатии на кнопку «pv и IS диаграммы».

Правильность положения точек цикла на его p-v диаграмме можно проверить по приведенным на рис. 3 численным значениям вычисленных параметров. Сравнение подтверждает точность выведения данных на график.

По I-S диаграмме видно, что «подведение» работы в компрессоре (процесс 1–2) или теплоты в камере сгорания (процесс 2–3) приводит к увеличению энтальпии и энтропии (что объясняется активизацией теплового движения молекул газа) [10]. В турбине (процесс 3–4) нет подведения и отведения теплоты, так как процесс адиабатный, однако совершается работа, что приводит к уменьшению энтальпии. И наконец, в теплообменном аппарате (процесс 4–1) теплота отводится, поэтому энтальпия и энтропия уменьшаются.

missing image file

Рис. 4. p-v диаграмма цикла, полученная по результатам его расчета

missing image file

Рис. 5. I-S диаграмма цикла, полученная по результатам его расчета

При других исходных данных можно получить результаты, оформленные подобным же образом, что позволяет оценить влияние входных параметров расчета на результаты и оптимизировать круговой цикл газотурбинной установки за счет максимизации его термического КПД.

Выполненная работа показала удобство и простоту использования языка Python для создания программы расчета кругового термодинамического цикла для идеального газа. Результаты расчета примера совпали с результатами расчета «вручную», что подтверждает правильность написания кода программы.

Python является интерпретируемым языком программирования, т.е. для использования кода нужно установить в систему Linux или Windows как дистрибутив пакета, так и все используемые библиотеки функций. Однако, благодаря использованию программы Pyinstaller, можно скомпилировать код программы вместе с дополнительными модулями в один файл и таким образом получить полноценную программу, не требующую установки, что и было произведено в результате выполнения работы. При этом сохраняется как возможность изучения кода программы (его можно открыть любым редактором текстовых файлов), так и ее запуска на любом компьютере без необходимости установки самого дистрибутива Python.

Очень интересным является изучение влияния различных рабочих газообразных тел на вид получаемого кругового цикла, что может пригодиться при обучении основам теплофизики.

Заключение

Таким образом, все сформулированные задачи работы, а также ее цель полностью достигнуты. Помимо этого, обоснован выбор языка Python для создания кода программы и рассмотрены использованные при этом программные средства.

Написанная программа позволяет производить исследование влияния исходных факторов на показатели термической эффективности цикла и таким образом подбирать его оптимальные параметры.

Автоматизация расчетов приводит к снижению времени расчетов и соответствующему уменьшению затрат на начальном этапе проектирования газотурбинных установок [11]. Созданная программа может использоваться учащимися школ и студентами вузов при изучении курсов «Термодинамика» и «Теплофизика», а также инженерами-проектировщиками газотурбинных установок. Изучение кода программы поможет освоить применение различных современных методов и средств программирования на снискавшем большую популярность языке Python.