Аппроксимационная модель (ТГ)#
Внешний вид блока запуска аппроксимационной модели#
Блок Аппроксимационная модель (ТГ) предназначен для использования в рамках библиотеки Теплогидравлика множества аппроксимационных моделей:
Нейронных сетей, являющихся частью алгоритмов машинного обучения;
Гауссовских процессов;
Линейных и нелинейных регрессионных моделей.
Аппроксимационные модели могут содержать в себе любые нелинейные зависимости между входными параметрами модели и результатами вычислений, которые затруднительно описать программным алгоритмом и требует применения таких современных подходов, как например, нейронные сети и других методов машинного обучения.
Блок предназначен для вызова (Inference) аппроксимационной модели и обеспечения обмена данными в процессе моделирования с другими блоками библиотеки Теплогидравлика.
Блок Аппроксимационная модель (ТГ) обеспечивает загрузку модели из нейтрального формата ONNX.
Примечание
В библиотеке Внешние модели содержится блок Аппроксимационная модель, предназначенный для вызова ML моделей в процессе моделирования и обмена данными с блоками библиотеки Автоматика и другими блоками, содержащими порт типа Автоматика.
1. Требования к аппроксимационной модели, взаимодействующей с блоками библиотеки теплогидравлики#
Важно
Основные требования к аппроксимационной модели представлены в описании аналогичного блока библиотеки Внешние модели.
1.1. Требования к формулированию задачи на аппроксимацию#
Аппроксимационная модель должна описывать следующие физические процессы в моделируемой системе:
Процесс движения жидкости;
Процесс теплообмена.
Узел должен быть составным элементом аппроксимационной модели. Каждый узел \(i\) модели должен включать следующие параметры:
Давление \(\mathbf P_{i}\),
Температура \(\mathbf T_{i}\).
Массовый расход \(\dot{\mathbf m_i}\),
Поток энтальпии \(\mathbf H_i\).
В каждом узле \(i\) аппроксимационной модели должны вычисляться зависимости массового расхода \( \dot{\mathbf m_i}\) и потока энтальпии \(\mathbf H_i\) (1) от давления \(\mathbf P_{i}\) и температуры \(\mathbf T_{i}\).
в зависимости (1) индекс \(i\) обозначает порядковый номер узла модели.
Аппроксимационная модель должна содержать хотя бы один узел с параметром давления \(\mathbf P_1\) и температуры \(\mathbf T_1\) и расчётными значениями массового расхода \( \dot{\mathbf m_1}\) и потока энтальпии \(\mathbf H_1\).
Правило знаков для расчёта расхода и потока энтальпии#
Положительное направление массового расхода и потока энтальпии принято в узел аппроксимационной модели.
Расход и поток энтальпии, направленные из узла модели, считаются отрицательными.
На схеме ниже изображено два узла аппроксимационной модели с положительным направлением расчётных значений массового расхода и потока энтальпии.
Правило знаков расчёта массового расхода и потока энтальпии для аппроксимационной модели с двумя узлами.#
На схеме выше приняты следующие обозначения.
Обозначения |
Описание |
|---|---|
Синие круги |
Узлы модели с параметрами температуры \(\mathbf T_i\) и давления \(\mathbf P_{i}\) |
Оранжевые векторы |
Положительные направления массового расхода \(\dot{\mathbf m_i}\) и потока энтальпии \(\mathbf H_i\) модели |
Вариант расчёта потока энтальпии и массового расхода из одного узла в другой#
Аппроксимационная модель может содержать два узла, рассчитывая одно значение потока энтальпии \(\mathbf H\) и одно значение массового расхода \(\dot{\mathbf m}\), направленных от узла 1 к узлу 2 в соответствии с схемой, приведённой ниже.
Расчёт потока энтальпии и массового расхода, направленных от узла 1 к узлу 2 аппроксимационной модели с двумя узлами.#
В приведённом выше случае поток энтальпии, направленный к узлу 2, равен \(\mathbf H\), а поток энтальпии узла 1 принимается \( - \mathbf H\). Массовый расход \(\dot{\mathbf m}\) определяется аналогично.
Вариант расчёта потока энтальпии и массового расхода в трёх узлах#
Аппроксимационная модель может содержать три и более узла, рассчитывая значения потоков энтальпии \(\mathbf H_i = g(\mathbf P_{i}, \mathbf T_{i})\) и массовых расходов \(\dot{\mathbf m_i} = f(\mathbf P_{i}, \mathbf T_{i})\) в каждом из узлов модели.
Расчёт потоков энтальпии и массовых расходов в трёх узлах аппроксимационной модели.#
1.2. Требования к параметрам аппроксимационной модели#
Аппроксимационная модель, взаимодействующая с блоками библиотеки Теплогидравлика, должна:
В качестве входных параметров принимать значения давлений (P₁,P₂,Pₙ на рисунке ниже) и температур (T₁,T₂,Tₙ) в узлах моделируемого элемента системы;
В результате расчёта модель должна отдавать значения массовых расходов жидкости (m₁, m₂, mₙ на рисунке ниже) и потоков энтальпии (H₁, H₂, Hₙ) в каждом узле моделируемой системы.
Исходные данные и результаты расчёта Аппроксимационной модели (ТГ)#
На рисунке выше используются следующие обозначения.
Обозначение |
Размерность |
Описание |
|---|---|---|
P₁, … , Pₙ |
Па |
Исходные значения давлений в узлах аппроксимационной модели |
T₁, … , Tₙ |
\(^{\circ}C\) |
Исходные значения температур аппроксимационной модели |
m₁, … , mₙ |
кг/с |
Результаты расчёта массовых расходов жидкости |
H₁, … , Hₙ |
Вт |
Результаты расчёта потоков энтальпии |
Физические величины исходных данных и результатов расчётов аппроксимационной модели должны быть представлены в системе единиц СИ.
1.3. Требования к дополнительному описанию модели#
Файл ML модели формата ONNX должен содержать дополнительное описание, позволяющее блоку Аппроксимационная модель (ТГ) однозначно сопоставить узлы модели с давлениями и температурами, а в результатах расчёта для каждого узла получить расход и поток энтальпии.
Подсказка
Для упрощения процесса подготовки дополнительного описания ML модели теплогидравлики на языке программирования Python воспользуйтесь модулем repeat_onnx, справка к которому приведена в разделе Инструменты взаимодействия с ML моделями на Python.
Требования к содержанию описания модели#
Дополнительное описание ML модели должно быть типа строка в формате JSON со следующими ключами.
Ключ - тип строка |
Значение |
Описание значения |
Тип значения |
|---|---|---|---|
|
|
Научное направление разработанной модели. Для блока |
Строка |
|
|
Список узлов модели |
Список |
Каждый узел модели, входящий в список [ ] по ключу "nodes", должен обладать следующим описанием потенциалов и потоков.
Ключ - тип строка |
Описание значения |
|---|---|
|
Имя узла модели для отображения на портах блока |
|
Имя входного параметра давления данного узла |
|
Имя входного параметра температуры данного узла |
|
Имя выходного параметра с результатом вычисления массового расхода в узле модели |
|
Имя выходного параметра с результатом вычисления потока энтальпии в узле модели |
Ниже приведено описание модели с одним узлом с именем "Output unit", в котором входными параметрами ML модели являются два потенциала: "pressure_1" и "temperature_1", - для давления и температуры соответственно. Выходными параметрами в узле модели являются два потока: "flowrate_1" и "enthalpy_flux_1" , - для расхода и потока энтальпии соответственно. Описание выполняется на языке программирования Python.
1import json
2
3
4model_structure = {
5 "discipline" : "thermohydraulics",
6 "nodes" : [
7 {
8 "name" : "Output unit",
9 "pressure" : "pressure_1",
10 "temperature" : "temperature_1",
11 "flowrate" : "flowrate_1",
12 "enthalpy_flux" : "enthalpy_flux_1"
13 }
14 ]
15}
16model_structure_serialized = json.dumps(model_structure)
Требования к размещению дополнительного описания модели#
Дополнительное описание ML модели должно располагаться в структуре metadata_props по ключу "repeat_contract".
Ниже представлен пример, в котором для заранее подготовленной ML модели и сохранённой в нейтральный формат ONNX по пути path записывается дополнительное описание модели, необходимое для использования блоком Аппроксимационная модель (ТГ).
1import onnx
2
3
4description = onnx.StringStringEntryProto()
5description.key = "repeat_contract"
6description.value = model_structure_serialized
7model = onnx.load(path)
8model.metadata_props.append(description)
9onnx.save(model, path)
2. Свойства#
Нет
3. Входы и выходы#
Параметры |
вход/выход |
Описание |
Единицы измерения |
Тип порта |
|---|---|---|---|---|
Имена узлов модели |
Вход |
Список имён узлов формируется на основе информации об узлах модели из ONNX-файла |
- |
Теплогидравлика |
Расходы |
Выход |
Список выходных портов формируется на основе информации о наборе выходных параметров (результатов вычислений) модели из ONNX-файла |
кг/с |
Автоматика |
Потоки энтальпии |
Выход |
Список выходных портов формируется на основе информации о наборе выходных параметров (результатов вычислений) модели из ONNX-файла |
Вт |
Автоматика |
Выходные порты блока необходимы для получения результатов расчётов массовых расходов и потоков энтальпии в узлах модели, а также для передачи результатов расчётов в блок Выходной порт.
Важно
Блок Датчик не поддерживает отображение результатов расчёта блока Аппроксимационная модель (ТГ).
Для того, чтобы посмотреть возможности подключения блока необходимо перейти на страницу Описание портов блоков.