readme.md

О проекте

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

Цель проекта

Обеспечить предприятия, инжиниринговые компании, научно-исследовательские институты и ВУЗы доступным инструментом для формирования комплексных математических моделей цифровых двойников изделий за счет создания открытой платформы для решения инженерных задач, связанных с подбором и поиском оптимальных параметров на базе сквозного мультидисциплинарного моделирования с использованием различных параметризированных математических моделей и САЕ продуктов.

Преимущества проекта

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

  • переиспользования математических моделей
  • разработки сложных комплексных моделей (в том числе многопользовательском режиме), задел для:
    • вложенных циклов оптимизации
    • применения вложенных моделей
    • формирования локальных баз для прогнозирования параметров отдельных моделей

Перечень направлений прикладного использования проекта

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

  • проведения исследовательских работ по созданию многодисциплинарных математических моделей при создании цифровых двойников изделий
  • поиска параметров, вариантов и комбинаций для формирования обликов изделий и процессов оптимальных по широкому спектру параметров и ограничений
  • изучения подходов к разработке многодисциплинарных математических моделей при создании цифровых двойников изделий при выполнении магистерских и аспирантских проектов в ВУЗах
  • применения в качестве интегрируемого решения в корпоративные системы и другие продукты

Архитектура открытой библиотеки

Схема платформы сквозного многодисциплинарного моделирования:

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

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

  • ГИ (ustep-ide) - Графический интерфейс , демонстрирующий использование библиотеки из приложения Electron;
  • Сценарии (ustep-workers) - Консольные примеры, демонстрирующие использование библиотеки из интерфейса командной строки.

Для использования библиотеки следует загрузить на компьютер репозитории библиотеки (БХО, МИС, Оптимизатор), а также один или оба репозитория, демонстрирующих ее использование (ГИ, Сценарии). Подключение библиотеки к ГИ осуществляется в окне настроек ГИ, в котором указываются пути к БХО, МИС и оптимизатору. Для подключение библиотеки к Сценариям все загруженные репозитории (БХО, МИС, Оптимизатор, Сценарии) должны быть расположены в одной директории, после чего подключение осуществляется автоматически.

Платформа сквозного многодисциплинарного моделирования при использовании ГИ работает по следующему алгоритму:

  • пользователь готовит в ГИ проект сквозного многодисциплинарного моделирования;
  • ГИ сохраняет описание и начальные параметры сценария;
  • ГИ запускает МИС;
  • МИС считывает начальные параметры сценария, инициализирует и заполняет БХО с помощью помощника БХО;
  • МИС выполняет запуск МШС в соответствии с полученным описанием сценария;
  • API внешних модулей получает параметры для выполняемого МШС;
  • МШС сценария выполняет свой скрипт/сценарий расчета задачи и обменивается расчетными данными с ядром платформы;
  • API внешних модулей передает статус выполняющегося МШС в БХО;
  • ГИ получает из БХО информацию о выполнении МШС, отображает ее и позволяет пользователю управлять выполнением сценария;
  • ГИ отображает результаты выполнения сценария.

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

  • пользователь запускает в командном интерпритаторе начальный скрипт (run.cmd для ОС Windows или run.sh для ОС Linux) и выбирает сценарий, который должен быть расчитан;
  • скрипт запускает МИС, передавая ему параметры выбранного сценария;
  • МИС считывает начальные параметры сценария, инициализирует и заполняет БХО с помощью помощника БХО;
  • МИС выполняет запуск МШС в соответствии с полученным описанием сценария;
  • API внешних модулей получает параметры для выполняемого МШС;
  • МШС сценария выполняет свой скрипт/сценарий расчета задачи и обменивается расчетными данными с ядром платформы;
  • API внешних модулей передает статус выполняющегося МШС в БХО;
  • по окончании расчета управление возвращается в командный интерпритатор, после чего пользователь может проанализировать файлы с результатами выполнения сценария.

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

Описание базы хранения и обмена параметрами

База хранения и обмена параметрами служит для хранения расчетных параметров и данных об объектах с целью их использования компонентами открытой платформы в сквозном многодисциплинарном моделировании

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

  • системные требования:
    • процессор с архитектурой x86-64 (Intel с поддержкой Intel 64, AMD с поддержкой AMD64). Желательно использование многопроцессорных или многоядерных машин
    • оперативная память не менее 2 Гбайт (рекомендуется 4 Гбайт и выше)
    • жесткий диск 40Гб и выше
  • программные требования:
    • ОС Windows 10 x64 /Ubuntu 22.04
    • Python 3.11
    • дополнительные модули Python можно установить из файла requirements.txt командой pip install -r requirements.txt
    • Redis 7.2

Соглашения по формату начальных данных

Секции объектов

  • Объекты могут быть объединены в следующие секции: @global, @objects, @types, @connectors.
  • Секция @global содержит набор вспомогательных объектов не принадлежащих какому-то расчетному объекту, а принадлежащие всей задаче и использующиеся для передачи общих параметров.
  • Секция @objects содержит набор расчетных объектов, каждый из которых может решать отдельную подзадачу.
  • Секция @types содержит набор типовых объектов, которые используются для создания расчетных объектов и их подобъектов.
  • Секция @connectors содержит набор соединений - вырожденных объектов, не имеющих расчетных скриптов или сценариев и использующихся для присоединения подобъектов к объекту. Объект, содержащий коннектор является неполным и не может быть расчитан.

Объекты

  • Объекты могут содержать: определители, секции параметров, отдельные параметры и подобъекты. По аналогии с древовидной структурой, объект это “узел”, а параметры это “листья”.
  • Объекты могут быть вырожденными - состоящими из одного параметра. В этом случае, объект-обертка не создается и параметр записывается как отдельный параметр, но подразумевается, что он входит в неименованный вырожденный объект.

  • Объекты могут иметь следующие определители: @obj_type, @obj_copy, @obj_connector, @link, @const_link.

  • Определитель @obj_type обозначает, что объект “наследуется” от типового объекта - при создании происходит копирование свойств типового объекта (если типовой объект имеет свой типовой объект, то происходит вложенное копирование), а потом накладываются изменения из текущего объекта, за исключением значения параметра @obj_type - он накапливает список всех типов от которых объект отнаследован.
  • Определитель @obj_copy обозначает, что объект копируется из другого объекта - при создании происходит копирование свойств другого объекта, а потом накладываются изменения из текущего объекта.
  • Разница между определителями @obj_type и @obj_copy в операциях с определителем @obj_type, который используется в первую очередь для накопления данных в ROM.
  • Определитель @obj_connector обозначает, что объект является подобъектом и присоединяется к другому объекту через соединитель - промежуточный объект, который в случае отключения текущего объекта будет содержать все замыкания параметров (входных и выходных).
  • Определитель @link обозначает, что объект является ссылкой на другие объекты и содержит список ссылок (адреса объектов). Доступ к объектам через ссылки может быть как на запись, так и на чтение, при этом чтение возможно только из одного объекта (первого в списке ссылок), а запись производиться во все объекты, список ссылок на которые содержит определитель.
  • Определитель @const_link обозначает, что объект является константной ссылкой на другой объект и содержит ссылку (адрес объекта).

  • Объекты могут иметь следующие секции параметров и подобъектов: @input, @local, @output.

  • Секция параметров @input содержит входные параметры и подобъекты объекта и используется для передачи входных данных в объект.
  • Секция параметров @local содержит локальные параметры и подобъекты объекта и используется для передачи данных в подобъекты.
  • Секция параметров @output содержит выходные параметры и подобъекты объекта и используется для передачи выходных данных из объекта.
  • Любые не замкнутые входные или локальные параметры и подобъекты означают, что объект является неполным и не может быть расчитан.
Конвейеры
0 успешных
0 с ошибкой