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

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

Описание

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

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

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

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

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

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

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

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

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

Выбранный шаблон необходимо сохранить под другим именем в той же директории и приступить к его редактированию. Редактирование шаблона можно выполнять как в текстовом редакторе, так и при помощи встроенной в 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), которая в свою очередь будет вычислять значения теплофизических свойств путем интерполяции по указанной таблице.

Стоит отметить, что в библиотеке uncompressed_lib.DLL по умолчанию имеются ограничения на минимальное и максимальное значения давления, которые составляют 1000 Па и 50 МПа соответственно.

Кроме теплофизических свойств для каждого теплоносителя должны использоваться свои замыкающие соотношения в виде зависимостей для расчета коэффициентов теплоотдачи и гидравлического сопротивления трения. Для добавленного теплоносителя будут применены замыкающие соотношения для воздуха в случае работы с 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, _GetPropPS, _GetPropHS не являются обязательными для реализации для корректной работы теплогидравлического кода.

Кроме того, в любом месте кода разработчику доступен вызов процедуры 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\ и двухфазного табличного теплоносителя: SimInTech\Source\HS_Coolant_libs\biphasic_LIB\.

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