Двусторонний обмен данными между ПРАДИС (PRADIS) и ИОСО (IOSO)

Назначение модуля

Модуль двустороннего обмена данными ПРАДИС (PRADIS)ИОСО (IOSO) предназначен для организации совместной работы:

  • ПРАДИС (PRADIS);
  • ИОСО (IOSO);
  • ЛОЦМАН PDM.

Основная задача модуля — обеспечить автоматический обмен параметрами, запуск расчетов и передачу результатов между ПРАДИС (PRADIS) и ИОСО (IOSO) без ручного вмешательства пользователя.

Использование модуля позволяет:

  • запускать задачи ПРАДИС (PRADIS) из среды ИОСО (IOSO);
  • автоматически передавать параметры модели;
  • выполнять многовариантный анализ;
  • проводить оптимизацию;
  • организовывать обмен инженерными данными;
  • интегрировать расчеты с системой ЛОЦМАН PDM.

Требования к рабочему окружению

Для работы модуля требуется следующее программное окружение.


Обязательное программное обеспечение

  1. ОС Windows 7 и выше
  2. ИОСО (IOSO) версии 4.0 и выше
  3. ПРАДИС (PRADIS)

Необязательное программное обеспечение

  1. ЛОЦМАН PDM v24 и выше

Цель интеграции `ПРАДИС (PRADIS) и ИОСО (IOSO)

Основной целью интеграции является создание единой среды, в которой:

  • ИОСО (IOSO) может автоматически запускать задачи ПРАДИС (PRADIS);
  • ПРАДИС (PRADIS) может передавать результаты обратно в ИОСО (IOSO);
  • оптимизация выполняется без ручного редактирования расчетных моделей;
  • обеспечивается автоматический обмен входными и выходными параметрами.

Фактически ПРАДИС (PRADIS) используется как вычислительное ядро, а ИОСО (IOSO) — как система оптимизации и управления многовариантными расчетами.


Общая архитектура системы

В архитектуре взаимодействия участвуют три основных программных комплекса:

  • ЛОЦМАН PDM;
  • ИОСО (IOSO);
  • ПРАДИС (PRADIS).

ИОСО (IOSO) выступает центральным управляющим звеном между расчетным ядром и системой хранения инженерных данных.



Основные функциональные объекты модуля

Модуль двустороннего обмена включает несколько основных функциональных объектов.


1. Объекты описания параметров задачи в ПРАДИС (PRADIS)

Используются для задания:

  • параметров оптимизации;
  • входных переменных;
  • критериев расчета;
  • параметров многовариантного анализа.

2. Парсер списка параметров и критериев в ИОСО (IOSO)

Парсер выполняет:

  • анализ схемы ПРАДИС (PRADIS);
  • поиск специальных объектов;
  • формирование списка параметров;
  • формирование списка критериев;
  • подготовку данных для ИОСО (IOSO).

3. Файлы обмена данными

Обмен между ПРАДИС (PRADIS) и ИОСО (IOSO) осуществляется через файлы:

*.in
*.out

Файлы используются для:

  • передачи входных параметров;
  • передачи результатов расчета;
  • хранения критериев оптимизации.

4. Блок ПРАДИС (PRADIS), встраиваемый в ИОСО (IOSO)

После парсинга параметров ИОСО (IOSO):

  • импортирует параметры;
  • импортирует критерии;
  • создает объект оптимизации;
  • управляет запуском расчетов.

5. Объект инициализации запуска решателя ПРАДИС (PRADIS)

Для автоматического запуска используется утилита:

opt_solver.py

Она обеспечивает:

  • генерацию файлов;
  • запуск расчетов;
  • управление обменом данными;
  • передачу результатов.

ПРИНЦИП РАБОТЫ МОДУЛЯ

Работа модуля двустороннего обмена между ПРАДИС (PRADIS) и ИОСО (IOSO) строится на автоматическом формировании параметров задачи, генерации файлов обмена и запуске расчетов без ручного вмешательства пользователя.

Основная идея заключается в том, что пользователь подготавливает модель в ПРАДИС (PRADIS), а ИОСО (IOSO) автоматически использует эту модель для многовариантного анализа и оптимизации.


Описание параметров задачи в ПРАДИС (PRADIS)

Для интеграции с ИОСО (IOSO) параметры задачи описываются непосредственно внутри схемы ПРАДИС (PRADIS).


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

1. Проект ПРАДИС (PRADIS) представлен в виде схемы

Проект хранится в формате:

*.sch

Формат схемы является XML-подобным и содержит:

  • компоненты модели;
  • параметры;
  • соединения;
  • специальные объекты интеграции;
  • описание переменных и критериев.

2. Параметры описываются специальными объектами

Внутри схемы используются специальные объекты библиотеки:

multi

Через них задаются:

  • переменные оптимизации;
  • ограничения;
  • критерии;
  • параметры многовариантного анализа.

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


3. Парсер анализирует схему

После подготовки схемы запускается парсер.

Парсер:

  • читает файл *.sch;
  • анализирует специальные объекты;
  • извлекает параметры;
  • извлекает критерии;
  • формирует структуру задачи для ИОСО (IOSO).

В результате автоматически создается список:

  • входных параметров;
  • выходных критериев;
  • переменных оптимизации.

Входные и выходные файлы расчета

Для обмена данными между ПРАДИС (PRADIS) и ИОСО (IOSO) используются текстовые файлы обмена.


Входной файл расчета

1. Файл входных параметров

Входные параметры сохраняются в файл:

имя_схемы.in

Файл содержит:

  • значения переменных;
  • параметры оптимизации;
  • начальные данные расчета.

Выходной файл расчета

2. Файл выходных параметров

Результаты расчета записываются в файл:

имя_схемы.out

Файл содержит:

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

Формат файлов обмена

3. Формат файлов

Структура файлов:

*.in
*.out

определяется правилами обмена между ПРАДИС (PRADIS) и ИОСО (IOSO).

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

  • расчетным модулем;
  • оптимизатором;
  • внешними программами.

Запуск решателя ИОСО (IOSO) из ПРАДИС (PRADIS)

Интеграционный модуль позволяет запускать задачи оптимизации непосредственно из среды ПРАДИС (PRADIS).


Описание задачи оптимизации

1. Постановка задачи

Задача описывается через набор специальных объектов.

Используются:

  • переменные;
  • ограничения;
  • критерии;
  • целевые функции;
  • расчетные случаи;
  • параметры оптимизации.

Для переменных задаются:

  • начальные значения;
  • допустимые пределы;
  • размерности;
  • описания.

Для критериев могут задаваться:

  • методы свертки;
  • правила оценки;
  • условия оптимизации.

Запуск расчета

2. Запуск в консольном режиме

Запуск выполняется через:

  • Python-интерфейс;
  • бинарный файл инициализации;
  • консольный запуск решателя.

Основным управляющим модулем является:

opt_solver.py

Генерация статуса решения

3. Формирование статуса задачи

Во время работы автоматически генерируются переменные состояния.

Они содержат информацию:

  • об успешности расчета;
  • о возникших ошибках;
  • о завершении операции;
  • о выгрузке результатов;
  • о статусе оптимизации.

ОБЪЕКТЫ ПРАДИС (PRADIS), ИСПОЛЬЗУЕМЫЕ МОДУЛЕМ

Для организации двустороннего обмена используются специальные объекты библиотеки:

multi

Эти объекты обеспечивают:

  • описание параметров;
  • хранение критериев;
  • формирование файлов обмена;
  • интеграцию с ИОСО (IOSO).

Основные объекты библиотеки multi


1. Объект multi.Variable

Объект предназначен для описания переменных оптимизации.

Свойства объекта

Объект содержит параметры:

  • Name;
  • Value;
  • Dimension;
  • Description;
  • ID.

Назначение объекта

Используется для:

  • хранения переменных;
  • передачи параметров в ИОСО (IOSO);
  • задания ограничений;
  • описания оптимизационных параметров.

2. Объект InData

Объект предназначен для описания входных данных расчета.

Свойства объекта InData

Объект содержит:

  • список объектов multi.Variable;
  • имя файла загрузки данных.

По умолчанию используется файл:

имя_схемы.in

Назначение объекта InData

Объект:

  • хранит список переменных;
  • управляет загрузкой входных параметров;
  • обеспечивает передачу данных в ПРАДИС (PRADIS).

3. Объект OutData

Объект предназначен для хранения критериев расчета.

Свойства объекта OutData

Объект содержит:

  • список объектов OVP / Post;
  • имя файла *.out.

По умолчанию используется:

имя_схемы.out

Назначение объекта OutData

Объект:

  • хранит критерии расчета;
  • сохраняет выходные параметры;
  • передает результаты в ИОСО (IOSO).

4. Парсер схемы SCH

Парсер схемы является одним из ключевых элементов интеграции.

Основные функции парсера

Парсер:

  • читает файл схемы *.sch;
  • анализирует объекты InData и OutData;
  • формирует *.in;
  • формирует *.out;
  • генерирует параметры задачи.

5. Утилита opt_solver

Для взаимодействия с ИОСО (IOSO) используется специальная Python-утилита:

opt_solver.py

Основные функции утилиты

Утилита выполняет:

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

Входные и выходные файлы расчета

Вся интеграция строится вокруг файлов обмена.


Входной файл

имя_схемы.in

Содержит:

  • входные параметры;
  • значения переменных;
  • параметры оптимизации.

Выходной файл

имя_схемы.out

Содержит:

  • результаты расчета;
  • критерии;
  • выходные параметры модели.

ОПИСАНИЕ ОБЪЕКТА InData

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


Поля объекта InData

Объект содержит:

  • список объектов multi.Variable;
  • имя входного файла *.in.

По умолчанию используется:

имя_схемы.in

Функции объекта InData

Хранение переменных

Объект хранит список:

multi.Variable

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


Загрузка данных из файла

Если при запуске PPL указан ключ:

--indata

то решатель ПРАДИС (PRADIS) автоматически считывает исходные данные из файла:

*.in

Это позволяет полностью автоматизировать передачу параметров от ИОСО (IOSO) к ПРАДИС (PRADIS).


ОПИСАНИЕ ОБЪЕКТА OutData

Объект OutData используется для хранения критериев и результатов расчета.


Поля объекта OutData

Объект содержит:

  • список объектов OVP;
  • имя файла *.out.

По умолчанию используется:

имя_схемы.out

Функции объекта OutData

Хранение критериев расчета

OutData хранит список объектов OVP как критериев расчета.


Чтение результатов из DAT

После завершения расчета объект:

  • читает значения OVP из DAT-файла;
  • формирует выходные данные;
  • обновляет файл *.out.

Сохранение результатов

Результаты также записываются в объект:

misc.outData

для последующего сохранения в:

*.out

ОПИСАНИЕ УТИЛИТЫ OPT_SOLVER

Утилита:

opt_solver.py

является центральным управляющим элементом интеграции.

Она обеспечивает взаимодействие между:

  • ПРАДИС (PRADIS);
  • ИОСО (IOSO);
  • файлами обмена;
  • расчетным процессом.

Основные функции утилиты OPT_SOLVER

Генерация файлов обмена

Утилита:

  • читает файл схемы *.sch;
  • анализирует объекты InData и OutData;
  • генерирует файлы:
*.in
*.out

Генерация PPL-файла

Во время инициализации запускается:

pq

в консольном режиме для генерации:

*.ppl

Запуск расчета

При запуске оптимизации утилита:

  • запускает PPL-файл;
  • использует ключ:
--indata
  • передает параметры решателю ПРАДИС (PRADIS).

Ключи запуска OPT_SOLVER

Ключ --init

Используется для:

  • генерации *.in;
  • генерации *.out;
  • генерации *.ppl;
  • инициализации расчетной задачи.

Ключ --solve

Используется для запуска расчета модели.


Ключ --ioso

Показывает, что расчет выполняется совместно с ИОСО (IOSO).


ОПИСАНИЕ ФАЙЛА Opt_solver.res

После завершения работы утилита формирует файл:

Opt_solver.res

Назначение файла Opt_solver.res

Файл используется для передачи статуса операции вызывающей программе.

Он содержит:

  • информацию об операции;
  • код статуса;
  • путь к результатам расчета.

Основные теги файла

Файл содержит следующие теги.


Operation

Содержит название выполненной операции.


Status

Содержит код статуса операции.


file

Содержит имя файла результата.


Основные операции

Init

Инициализация задачи.


Solve

Выполнение расчета.


Коды статуса

Код 0

Операция выполнена успешно.


Код 100

Произошла ошибка расчета или выполнения операции.


СХЕМА ИНИЦИАЛИЗАЦИИ

На этапе инициализации выполняются:

  1. анализ схемы ПРАДИС (PRADIS);
  2. генерация файлов обмена;
  3. генерация PPL-файла;
  4. подготовка расчетной среды;
  5. формирование структуры задачи для ИОСО (IOSO).


СХЕМА РАСЧЕТА ФУНКЦИИ

После завершения инициализации ИОСО (IOSO):

  • запускает opt_solver;
  • запускает ПРАДИС (PRADIS);
  • выполняет расчет модели;
  • получает результаты через *.out;
  • анализирует критерии;
  • запускает следующую итерацию оптимизации.


Последовательность полного цикла работы

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

  1. Пользователь создает модель в ПРАДИС (PRADIS);
  2. В модель добавляются объекты multi.Variable;
  3. Создаются объекты InData и OutData;
  4. Выполняется инициализация через opt_solver;
  5. ИОСО (IOSO) запускает расчет;
  6. ПРАДИС (PRADIS) выполняет моделирование;
  7. Результаты сохраняются в *.out;
  8. ИОСО (IOSO) анализирует критерии;
  9. Выполняется следующая итерация оптимизации.

Практическое применение

Интеграция ПРАДИС (PRADIS) и ИОСО (IOSO) особенно полезна для:

  • многовариантного анализа;
  • автоматической оптимизации;
  • исследования параметров моделей;
  • оптимизации гидросистем;
  • настройки приводов;
  • автоматизированного инженерного проектирования.

Преимущества интеграции

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

  • автоматизировать расчеты;
  • исключить ручной ввод параметров;
  • выполнять серии расчетов;
  • использовать ПРАДИС (PRADIS) как вычислительное ядро;
  • существенно ускорить инженерный анализ.

Выводы

Модуль двустороннего обмена ПРАДИС (PRADIS)ИОСО (IOSO) обеспечивает полноценную интеграцию расчетного комплекса и системы оптимизации.

Основными особенностями решения являются:

  • автоматическое формирование параметров;
  • файловый обмен через *.in и *.out;
  • автоматический запуск расчетов;
  • поддержка многовариантного анализа;
  • поддержка оптимизационных задач;
  • возможность интеграции с ЛОЦМАН PDM.

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