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

    Директория common содержит общие для всех сценариев файлы:

    • Файл ustep_user_utils.py - набор общих утилит и перечислителем возвращаемых статусов
    • Файл sit_starter.py - запуск среды динамического моделирования SimInTech
    • Файл multioptimizer.py - обертка вызова унивирсального оптимизатора

    Директория bicycle содержит задачу о движении велосипеда

    • Файл description.md - описание постановки задачи
    • Файл init_data.json - структура начальных данных задачи
    • Файл bicycle.json - сценарий расчета задачи
    • Файл transmission.py - скрипт МШС коробки передач велосипеда
    • Файл wheel.py - скрипт МШС колеса велосипеда
    • Файл object.py - скрипт МШС объекта велосипеда

    Директория bicycle_optim содержит оптимизационную задачу о движении велосипеда

    • Файл description.md - описание постановки задачи
    • Файл init_data.json - структура начальных данных задачи
    • Файл bicycle.json - сценарий расчета задачи
    • Файл transmission.py - скрипт МШС коробки передач велосипеда
    • Файл wheel.py - скрипт МШС колеса велосипеда
    • Файл object.py - скрипт МШС объекта велосипеда

    Директория bicycle_surrogate содержит задачу построения суррогатной модели износа цепи велосипеда

    • Файл description.md - описание постановки задачи
    • Файл init_data.json - структура начальных данных задачи
    • Файл bicycle.json - сценарий расчета задачи
    • Файл transmission.py - скрипт МШС коробки передач велосипеда
    • Файл wheel.py - скрипт МШС колеса велосипеда
    • Файл object.py - скрипт МШС объекта велосипеда
    • Файл points_to_calculate.json - перечень точек предназначенных для запроса данных из суррогатных моделей

    Директория sit_aerodyn_force содержит оптимизационную задачу поиска максимальной полной аэродинамической силы БПЛА с использованием среды динамического моделирования SimInTech

    • Файл description.md - описание постановки задачи
    • Файл init_data.json - структура начальных данных задачи
    • Файл sit_aerodyn_force.json - сценарий расчета задачи
    • Файл sit_aerodyn_force.py - скрипт МШС вызова SimInTech для расчета максимальной полной аэродинамической силы БПЛА
    • Файл sit_aerodyn_force.xprt - проект SimInTech для расчета максимальной полной аэродинамической силы БПЛА

    Директория sit_rastrigin_2 содержит оптимизационную задачу поиска глобального минимума функции Растригина для двух переменных с использованием среды динамического моделирования SimInTech

    • Файл description.md - описание постановки задачи
    • Файл init_data.json - структура начальных данных задачи
    • Файл sit_rastrigin_2.json - сценарий расчета задачи
    • Файл sit_rastrigin_2.py - скрипт МШС вызова SimInTech для расчета функции Растригина для двух переменных
    • Файл sit_rastrigin_2.xprt - проект SimInTech для расчета функции Растригина для двух переменных

    Директория sit_rosenbrock_2 содержит оптимизационную задачу поиска глобального минимума функции Розенброка для двух переменных с использованием среды динамического моделирования SimInTech

    • Файл description.md - описание постановки задачи
    • Файл init_data.json - структура начальных данных задачи
    • Файл sit_rosenbrock_2.json - сценарий расчета задачи
    • Файл sit_rosenbrock_2.py - скрипт МШС вызова SimInTech для расчета функции Розенброка для двух переменных
    • Файл sit_rosenbrock_2.xprt - проект SimInTech для расчета функции Розенброка для двух переменных
    Конвейеры
    0 успешных
    0 с ошибкой