Аппроксимационная модель (П)#

../../../../../_images/block-72ba0cb5.png

Внешний вид блока запуска аппроксимационной модели#

Блок Аппроксимационная модель (П) предназначен для использования в рамках библиотеки Пневматика множества аппроксимационных моделей:

  1. Нейронных сетей, являющихся частью алгоритмов машинного обучения;

  2. Гауссовских процессов;

  3. Линейных и нелинейных регрессионных моделей.

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

Блок предназначен для вызова (Inference) аппроксимационной модели и обеспечения обмена данными в процессе моделирования с другими блоками библиотеки Пневматика.

Блок Аппроксимационная модель (П) обеспечивает загрузку модели из нейтрального формата ONNX.

См. также

Ознакомьтесь с практическим руководством использования блока Аппроксимационная модель (П) для интеграции ML модели на платформу REPEAT VISION.

Примечание

В библиотеке Внешние модели содержится блок Аппроксимационная модель, предназначенный для вызова ML моделей в процессе моделирования и обмена данными с блоками библиотеки Автоматика и другими блоками, содержащими порт типа Автоматика.

1.  Требования к аппроксимационной модели, взаимодействующей с блоками библиотеки пневматики#

Важно

Основные требования к аппроксимационной модели представлены в описании аналогичного блока библиотеки Внешние модели.

1.1.  Требования к формулированию задачи на аппроксимацию#

Аппроксимационная модель должна описывать следующие физические процессы в моделируемой системе:

  1. Процесс движения газа;

  2. Процесс теплообмена.

Узел должен быть составным элементом аппроксимационной модели. Каждый узел \(i\) модели должен включать следующие параметры:

Потенциалы
  1. Давление \(\mathbf P_{i}\),

  2. Температура \(\mathbf T_{i}\).

Потоки
  1. Массовый расход \(\dot{\mathbf m_i}\),

  2. Поток энергии \(\mathbf H_i\).

В каждом узле \(i\) аппроксимационной модели должны вычисляться зависимости массового расхода \( \dot{\mathbf m_i}\) и потока энергии \(\mathbf H_i\) (1) от давления \(\mathbf P_{i}\) и температуры \(\mathbf T_{i}\).

(1)#\[\begin{split}\begin{aligned} \dot{\mathbf m_i} &= f(\mathbf P_{i}, \mathbf T_{i}) \\ \mathbf H_i &= g(\mathbf P_{i}, \mathbf T_{i}) \end{aligned}\end{split}\]

в зависимости (1) индекс \(i\) обозначает порядковый номер узла модели.

Аппроксимационная модель должна содержать хотя бы один узел с параметром давления \(\mathbf P_1\) и температуры \(\mathbf T_1\) и расчётными значениями массового расхода \( \dot{\mathbf m_1}\) и потока энергии \(\mathbf H_1\).

Правило знаков для расчёта расхода и потока энергии#

Положительное направление

Положительное направление массового расхода и потока энергии принято в узел аппроксимационной модели.

Отрицательное направление

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

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

../../../../../_images/ml_model_2_nodes-1ba17b0b.png

Правило знаков расчёта массового расхода и потока энергии для аппроксимационной модели с двумя узлами.#

На схеме выше приняты следующие обозначения.

Обозначения

Описание

Синие круги

Узлы модели с параметрами температуры \(\mathbf T_i\) и давления \(\mathbf P_{i}\)

Фиолетовые векторы

Положительные направления массового расхода \(\dot{\mathbf m_i}\) и потока энергии \(\mathbf H_i\) модели

Вариант расчёта потока энергии и расхода газа из одного узла в другой#

Аппроксимационная модель может содержать два узла, рассчитывая одно значение потока энергии \(\mathbf H\) и одно значение массового расхода \(\dot{\mathbf m}\), направленных от узла 1 к узлу 2 в соответствии с схемой, приведённой ниже.

../../../../../_images/pic_flow_through_2_nodes-e95a1521.png

Расчёт потока энергии и массового расхода, направленных от узла 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})\) в каждом из узлов модели.

../../../../../_images/ml_model_3_nodes-c28910e9.png

Расчёт потоков энергии и массовых расходов в трёх узлах аппроксимационной модели.#

1.2.  Требования к параметрам аппроксимационной модели#

Аппроксимационная модель, взаимодействующая с блоками библиотеки Пневматика, должна:

  1. В качестве входных параметров принимать значения давлений (P₁,P₂,Pₙ на рисунке ниже) и температур (T₁,T₂,Tₙ) в узлах моделируемого элемента системы;

  2. В результате расчёта модель должна отдавать значения массовых расходов газа (m₁, m₂, mₙ на рисунке ниже) и потоков энергии (H₁, H₂, Hₙ) в каждом узле моделируемой системы.

flowchart LR inputs["P₁, T₁, P₂, T₂, ... , Pₙ, Tₙ"] model("Approximation model") outputs["m₁, H₁, m₂, H₂, ... , mₙ, Hₙ"] inputs --> model --> outputs

Исходные данные и результаты расчёта Аппроксимационной модели (П) / Initial data and calculation results of the Approximation Model (P)#

На на рисунке выше используются следующие обозначения.

Обозначение

Размерность

Описание

P₁, … , Pₙ

Па

Исходные значения давлений в узлах аппроксимационной модели

T₁, … , Tₙ

\(^{\circ}\)C

Исходные значения температур аппроксимационной модели

m₁, … , mₙ

кг/с

Результаты расчёта массовых расходов газа

H₁, … , Hₙ

Вт

Результаты расчёта потоков энергии

Физические величины исходных данных и результатов расчётов аппроксимационной модели должны быть представлены в системе единиц СИ.

1.3.  Требования к дополнительному описанию модели#

Файл ML модели формата ONNX должен содержать дополнительное описание, позволяющее блоку Аппроксимационная модель (П) однозначно сопоставить узлы модели с давлениями и температурами, а в результатах расчёта для каждого узла получить расход и поток энергии.

Подсказка

Воспользуйтесь Python пакетом repeat_onnx для упрощения подготовки дополнительного описания ML модели пневматики.

Пример подготовки дополнительного описания ML модели приведён в практическом руководстве создания аппроксимационной модели течения газа через штуцер.

Требования к содержанию описания модели#

Дополнительное описание ML модели должно быть типа строка в формате JSON со следующими ключами.

Ключ - тип строка

Значение

Описание значения

Тип значения

"discipline"

"pneumatics"

Научное направление разработанной модели. Для блока Аппроксимационная модель (П) данное значение должно быть "pneumatics" (пневматика)

Строка

"nodes"

[  ]

Список узлов модели

Список

Каждый узел модели, входящий в список [  ] по ключу "nodes", должен обладать следующим описанием потенциалов и потоков.

Ключ - тип строка

Описание значения

"name"

Имя узла модели для отображения на портах блока Аппроксимационная модель (П) с целью обеспечения корректной связи с другими блоками библиотеки Пневматика

"pressure"

Имя входного параметра давления данного узла

"temperature"

Имя входного параметра температуры данного узла

"flowrate"

Имя выходного параметра с результатом вычисления массового расхода в узле модели

"energy"

Имя выходного параметра с результатом вычисления потока энергии в узле модели

Ниже приведено описание модели с одним узлом с именем "Output unit", в котором входными параметрами ML модели являются два потенциала: "pressure_1" и "temperature_1", - для давления и температуры соответственно. Выходными параметрами в узле модели являются два потока: "flowrate_1" и "energy_1" , - для расхода и потока энергии соответственно. Описание выполняется на языке программирования Python.

Пример описания модели с одним узлом#
 1import json
 2
 3
 4model_structure = {
 5  "discipline" : "pneumatics",
 6  "nodes" : [
 7    {
 8      "name" : "Output unit",
 9      "pressure" : "pressure_1",
10      "temperature" : "temperature_1",
11      "flowrate" : "flowrate_1",
12      "energy" : "energy_1" 
13    }
14  ]
15}
16model_structure_serialized = json.dumps(model_structure)

Требования к размещению дополнительного описания модели#

Дополнительное описание ML модели должно располагаться в структуре metadata_props по ключу "repeat_contract".

Ниже представлен пример, в котором для заранее подготовленной ML модели и сохранённой в нейтральный формат ONNX по пути path записывается дополнительное описание модели, необходимое для использования блоком Аппроксимационная модель (П).

Пример записи дополнительного описания модели в ONNX#
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-файла

Вт

Автоматика

Выходные порты блока необходимы для получения результатов расчётов массовых расходов и потоков энергии в узлах модели, а также для передачи результатов расчётов в блок Выходной порт.

Важно

Блок Датчик не поддерживает отображение результатов расчёта блока Аппроксимационная модель (П).

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

4.  Примеры использования#

 С примерами использования данного блока можно ознакомиться в следующих разделах:

Практическое руководство

Раздел

Название руководства

Аппроксимация методами машинного обучения

Аппроксимационная модель течения газа через штуцер