Добавление пользовательского теплоносителя

Описание процесса добавления нового сжимаемого или несжимаемого теплоносителя для модуля теплогидравлики HS

Описание

В рамках модуля теплогидравлики HS возможно пополнение списка имеющихся теплоносителей двумя способами:
  • путём использования существующей DLL-библиотеки, описывающей сжимаемый или несжимаемый теплоноситель, в комбинации с таблицами теплофизических свойств;
  • путём создания и подключения собственной DLL-библиотеки.

Подключение теплоносителя путём заполнения таблиц с теплофизическими свойствами с использованием существующей DLL-библиотеки

Шаблон для добавления сжимаемого теплоносителя (Рисунок 1) находится в директории SimInTech\bin\DataBase\HS\GASES\шаблон_Двумерная таблица для газов.tbl. Шаблон состоит из 8 последовательно расположенных массивов для следующих теплофизических параметров сжимаемого теплоносителя:

Рисунок: Шаблон таблицы свойств для сжимаемого теплоносителя



Все теплофизические свойства являются функциями давления [Па] и энтальпии [Дж/кг]. Причём давления откладываются по строкам таблицы, а энтальпии – по столбцам (Рисунок 2). Пользователь имеет возможность формировать таблицу, состоящую из неограниченного количества строк и столбцов.

Рисунок: Задание аргументов для таблиц



Шаблон для добавления несжимаемого теплоносителя (Рисунок 3) находится в директории SimInTech\bin\DataBase\HS\LIQUIDS\шаблон_Одномерная таблица для жидкостей.tbl. Шаблон состоит из 6 одномерных массивов для следующих теплофизических параметров несжимаемого теплоносителя:

Рисунок: Шаблон таблицы свойств для несжимаемого теплоносителя



Все теплофизические свойства являются функциями энтальпии [Дж/кг]. Причём энтальпии откладываются по строкам таблицы. Пользователь имеет возможность формировать таблицу, состоящую из неограниченного количества строк.

Выбранный шаблон необходимо сохранить под другим именем в той же директории и приступить к его редактированию. Редактирование шаблона для сжимаемого теплоносителя следует выполнять в текстовом редакторе. Редактирование шаблона для несжимаемого теплоносителя можно выполнять как в текстовом редакторе, так и при помощи встроенной в SimInTech утилиты для работы с таблицами, в которой при помощи языка программирования возможно реализовать особый алгоритм расчёта и описания таблиц. Вызов утилиты осуществляется из пункта главного меню SimInTech ("Инструменты" - "Редактор таблиц").

После заполнения таблиц со свойствами необходимо дать расчётному коду указание на добавление нового теплоносителя. Для этого следует в текстовом редакторе открыть файл SimInTech\bin\include_mvtu\set_coolant_aliases.inc.

В открывшемся файле в случае работы со сжимаемым теплоносителем в начало списка необходимо добавить новый элемент вида:
"Name|air_lib.DLL@Name.tbl"+clrf+
где Name – имя нового сжимаемого теплоносителя, Name.tbl – имя созданной ранее таблицы теплофизических свойств.
В случае работы с несжимаемым теплоносителем в начало списка необходимо добавить новый элемент вида:
"Name|uncompressed_lib.DLL@Name.tbl"+clrf+
где Name – имя нового несжимаемого теплоносителя, Name.tbl – имя созданной ранее таблицы теплофизических свойств.

Процедуру добавления нового элемента в список в файле SimInTech\bin\include_mvtu\set_coolant_aliases.inc необходимо повторять каждый раз при обновлении программы SimInTech. В противном случае добавленный теплоноситель пропадёт из перечня доступных в коде HS теплоносителей.

Таблицы для газов и жидкостей предназначены для считывания из них данных уже существующими DLL-библиотеками (в приведенном примере это air_lib.DLL и uncompressed_lib.DLL).

В результате выполнения вышеуказанных действий в перечне доступных теплоносителей кода HS появится новый элемент с указанным именем. Таким образом, в процессе моделирования расчётный код будет обращаться к динамической библиотеке air_lib.DLL (или uncompressed_lib.DLL), которая в свою очередь будет вычислять значения теплофизических свойств путём интерполяции по указанной таблице. В случае выхода аргумента (давления или энтальпии) за заданные в таблицах границы применяется процедура экстраполяции.

Стоит отметить, что в библиотеках air_lib.DLL и uncompressed_lib.DLL имеются ограничения на минимальное и максимальное значения давления и энтальпии. Для давления минимальное значение составляет 1000 Па, максимальное - 50 МПа. Для энтальпии минимальное значение составляет -100 кДж/кг, максимальное для air_lib.DLL - 2500 кДж/кг, максимальное для uncompressed_lib.DLL - 10000 кДж/кг.

Кроме теплофизических свойств для каждого теплоносителя должны использоваться свои замыкающие соотношения в виде зависимостей для расчёта коэффициентов теплоотдачи и гидравлического сопротивления трения. Для добавленного теплоносителя будут применены замыкающие соотношения для воздуха в случае работы с air_lib.DLL или несжимаемой жидкости в случае работы с uncompressed_lib.DLL.

Подключение теплоносителя путём создания собственной DLL-библиотеки

Способ заключается в создании и подключении собственной DLL-библиотеки, описывающей теплоноситель, с использованием среды разработки IDE Embarcadero Delphi 10.2 Tokyo или новее.

Файлы с исходным кодом, определяющие теплоносители для модуля теплогидравлики HS, являются общедоступными и располагаются в директории SimInTech\Source\HS_Coolant_libs\.

Далее процесс разработки DLL-библиотеки теплоносителя будет разобран на примере библиотеки природного газа (NatGas_lib.DLL).

В среде разработки необходимо открыть проект SimInTech\Source\HS_Coolant_libs\NatGas_LIB\NatGas_lib.dproj. В юните solv_object.pas находится исходный код, определяющий математику рассматриваемого теплоносителя.

В разделе Interface юнита solv_object.pas приведён перечень методов и полей класса TNatGas. Среди них основные методы, наследуемые от базового класса TBaseCoolant (описание базового класса приведено в юните SimInTech\Source\Root\Cooler.pas) и необходимые для корректной работы библиотеки:

Одним из аргументов процедур расчёта теплофизических свойств _GetPropPH и _GetPropPT является массив концентраций примесей, что говорит о возможности влияния концентраций примесей на теплофизические свойства.

Стоит отметить, что в любом месте кода разработчику доступен вызов процедуры DoError, позволяющей в процессе моделирования выводить произвольную информацию в окно сообщений схемы в SimInTech. Вызов процедуры DoError с аргументом msError приведёт к останову расчёта схемы.

После окончания разработки DLL-библиотеки необходимо внести данные о ней в файл SimInTech\bin\include_mvtu\set_coolant_aliases.inc. Строка, соответствующая рассмотренной библиотеке природного газа:

"Природный газ|NatGas_lib.dll"+clrf+

Реализация модели двухфазного теплоносителя - более сложная задача. В данном случае разрабатываемый класс должен наследоваться от базового класса TTwoPhaseCoolant, также описанного в SimInTech\Source\Root\Cooler.pas. C процессом разработки двухфазного теплоноситлея можно ознакомиться на примере библиотеки воды: SimInTech\Source\HS_Coolant_libs\VODA_LIB\.

C процессом разработки табличного теплоносителя можно ознакомиться на примере библиотеки воздуха: SimInTech\Source\HS_Coolant_libs\AIR_LIB\.