Аннотация темы
В этой теме рассматривается практический порядок работы с модулем для двустороннего обмена данными между ПРАДИС (PRADIS) и программой мультивариантного анализа и оптимизации ИОСО (IOSO).
Модуль является неотъемлемой частью программного комплекса ПРАДИС (PRADIS), и его инсталляция осуществляется в ходе общей установки ПРАДИС (PRADIS). О процессе установки программного комплекса ПРАДИС (PRADIS) можно прочитать в следующей статье.
С описанием архитектуры модуля и основными принципами обмена данными можно ознакомиться в этой статье.
Назначение модуля
Модуль предназначен для организации обмена данными между расчетным проектом ПРАДИС (PRADIS) и пакетом многовариантного анализа и оптимизации ИОСО (IOSO).
Основная задача интеграции:
- передача входных параметров из
ИОСО (IOSO)вПРАДИС (PRADIS); - автоматический запуск расчета;
- получение выходных параметров из
ПРАДИС (PRADIS); - возврат результатов в
ИОСО (IOSO)для параметрического анализа или оптимизации.
Обмен выполняется через специальные входные и выходные файлы:
название_схемы_Pradis.ioinназвание_схемы_Pradis.ioout
Общий алгоритм работы
Основные этапы подготовки проекта
- Подготовить проект
ПРАДИС (PRADIS); - Добавить объекты входных параметров;
- Настроить объект чтения входных данных;
- Добавить объекты выходных параметров;
- Настроить объект записи выходных данных;
- Связать переменные
ИОСО (IOSO)с параметрами моделиПРАДИС (PRADIS); - Сохранить схему;
- Запустить параметрический анализ проекта
ПРАДИС (PRADIS)вИОСО (IOSO).
ПОДГОТОВИТЬ ПРОЕКТ PRADIS
Перед подключением проекта к ИОСО (IOSO) необходимо убедиться, что расчет в ПРАДИС (PRADIS) полностью работоспособен.
Требования к проекту
1. Проект завершает расчет без ошибок
Схема должна:
- запускаться;
- сходиться;
- корректно завершать расчет;
- формировать необходимые результаты.
2. Подобрать параметры решателя
Если присутствуют проблемы со сходимостью, необходимо предварительно настроить объект:
Dynamic
В первую очередь рекомендуется проверить:
- шаг интегрирования;
- ограничения шага;
- критерии сходимости;
- количество итераций;
- параметры демпфирования.
Только после стабилизации расчета рекомендуется подключать параметрический анализ через ИОСО (IOSO).
ДОБАВИТЬ ОБЪЕКТЫ НА СХЕМУ, ХАРАКТЕРИЗУЮЩИЕ ВХОДНЫЕ ПАРАМЕТРЫ
Для передачи входных переменных из ИОСО (IOSO) в ПРАДИС (PRADIS) используются специальные объекты библиотеки:
multi.Variablemulti.InDataIoso
Объект «multi.Variable»
Назначение объекта
Объект:
multi.Variable
характеризует входной параметр модели.
Через этот объект описывается:
- имя параметра;
- начальное значение;
- диапазоны;
- размерности;
- идентификаторы.
Каждый объект соответствует одной переменной, которая будет участвовать в параметрическом анализе или оптимизации.
Основные поля объекта multi.Variable
1. Поле «Имя»
Поле:
Имя
-– это имя объекта на схеме ПРАДИС (PRADIS).
Данное имя используется:
- в списке
Variable list; - в объекте
Data; - при обращении к значению через конструкцию:
Имя.Value0
Например:
d0.Value0
2. Поле «Name»
Поле:
Name
-– это название переменной, которое будет считываться из файла:
название_схемы_Pradis.ioin
Файл создается со стороны ИОСО (IOSO).
Переменные в файле записываются в формате:
id=значение
Например:
d0=0.0600
Для упрощения настройки рекомендуется:
Имя = Name
Например:
Имя: d0
Name: d0
Это удобно потому, что препроцессор ПРАДИС (PRADIS) не позволяет создавать дублирующиеся имена объектов, и имена автоматически становятся уникальными в пределах проекта.
3. Поле «Value0»
Поле:
Value0
задает начальное значение переменной.
Например:
0.08
Если переменная отсутствует во входном файле .ioin, то будет использовано именно это значение.
Это особенно важно в случаях, когда:
- в
ИОСО (IOSO)используется только часть переменных; - остальные параметры должны остаться фиксированными.
Объект «multi.InDataIoso»
Назначение объекта
Объект:
multi.InDataIoso
считывает переменные из файла:
название_схемы_Pradis.ioin
Формат файла:
id=значение
Например:
d0=0.0600
l=0.005
Основное поле объекта multi.InDataIoso
Поле «Variable list»
В поле:
Variable list
необходимо через запятую перечислить объекты:
multi.Variable
которые участвуют в параметрическом анализе.
Например:
d0,l
Что делает объект multi.InDataIoso
Во время запуска расчета:
ИОСО (IOSO)формирует файл.ioin;multi.InDataIosoчитает значения;- значения записываются в соответствующие объекты
multi.Variable; - переменные становятся доступны в схеме
ПРАДИС (PRADIS).
ДОБАВИТЬ НА СХЕМУ ОБЪЕКТ «DATA»
После создания объектов:
multi.Variable
необходимо связать их с параметрами расчетной модели.
Для этого используется объект:
Data
Назначение объекта Data
Объект Data связывает:
- переменные
ИОСО (IOSO); - параметры модели
ПРАДИС (PRADIS).
Принцип связи переменных
В объекте Data создается конструкция вида:
название_переменной = Имя.Value0
Например:
dd0=d0.Value0
ll=l.Value0
Что это означает
Здесь:
d0
-– объект multi.Variable;
а:
dd0
-– переменная, которая уже используется внутри расчетной схемы ПРАДИС (PRADIS).
Использование переменных в модели
После создания связи переменные можно вставлять в параметры объектов схемы.
Например:
Вместо фиксированного значения:
0.08
можно указать:
dd0
Тогда параметр станет изменяемым со стороны ИОСО (IOSO).
ДОБАВИТЬ ОБЪЕКТЫ НА СХЕМУ, ХАРАКТЕРИЗУЮЩИЕ ВЫХОДНЫЕ ПАРАМЕТРЫ
Для передачи результатов расчета из ПРАДИС (PRADIS) в ИОСО (IOSO) используются объекты:
POSTFunctionPostData
Объект «POSTFunction»
Назначение объекта
Объект:
POSTFunction
используется для связи датчика на схеме ПРАДИС (PRADIS) с переменной, которая будет записываться в файл обмена с ИОСО (IOSO).
Основные поля объекта POSTFunction
1. Поле «Function»
Поле:
Function
определяет математическую операцию, выполняемую над данными датчика.
Для параметрического анализа рекомендуется использовать:
last
Что делает функция last
Ключ:
last
записывает значение датчика с последнего шага расчета.
Например:
Function=last
Другие математические операции
Также могут использоваться:
min;max;average;median;fft;user.
Однако выполнять сложную обработку обычно удобнее уже в ИОСО (IOSO), так как там проще:
- изменять обработку;
- строить критерии;
- комбинировать функции.
2. Поле «Parameters»
Поле:
Parameters
содержит название датчика на схеме.
Название указывается в одинарных кавычках:
'dh1'
Для функции last используется один датчик.
3. Поле «VariableName»
Поле:
VariableName
задает имя переменной, записываемой в файл:
название_схемы_Pradis.ioout
Например:
dh
В файле это будет выглядеть как:
dh=9.38412e+00
Объект «PostData»
Назначение объекта
Объект:
PostData
создает файл:
название_схемы_Pradis.ioout
и записывает туда результаты расчета.
Основное поле объекта PostData
Поле «Post-processing functions list»
В поле:
Post-processing functions list
необходимо перечислить объекты POSTFunction через запятую.
Например:
POSTFunction1,POSTFunction2
Что делает объект PostData
Во время завершения расчета объект:
- вызывает перечисленные функции постобработки;
- получает значения датчиков;
- формирует файл
.ioout; - записывает результаты в формате:
id=значение
Например:
dh=9.38412e+00
hpsha=5.00798e+00
ВСТАВИТЬ ПЕРЕМЕННЫЕ В ОБЪЕКТЫ СХЕМЫ PRADIS
После настройки объектов:
multi.Variable;Data;POSTFunction;PostData;
необходимо заменить фиксированные значения параметров модели на переменные.
Пример
Было:
d=0.08
Стало:
d=dd0
Что это дает
Теперь значение:
dd0
будет автоматически изменяться при запуске параметрического анализа из ИОСО (IOSO).
СОХРАНИТЬ ФАЙЛ СХЕМЫ В PRADIS
После настройки всех объектов необходимо сохранить схему ПРАДИС (PRADIS).
Сохраняется уже параметризованная модель, готовая к запуску из ИОСО (IOSO).
ЗАПУСТИТЬ ПАРАМЕТРИЧЕСКИЙ АНАЛИЗ ПРОЕКТА PRADIS В ПАКЕТЕ IOSO
После подготовки проекта можно запускать расчет через ИОСО (IOSO).
Принцип работы при запуске
Этап 1
ИОСО (IOSO) формирует файл:
название_схемы_Pradis.ioin
Этап 2
ПРАДИС (PRADIS) считывает входные значения через:
multi.InDataIoso
Этап 3
Переменные передаются в расчетную модель через объект:
Data
Этап 4
Выполняется расчет ПРАДИС (PRADIS).
Этап 5
POSTFunction получает значения датчиков.
Этап 6
PostData создает файл:
название_схемы_Pradis.ioout
Этап 7
ИОСО (IOSO) считывает результаты и выполняет:
- параметрический анализ;
- оптимизацию;
- многовариантный расчет.
Проверка корректности настройки
Перед запуском рекомендуется проверить:
- проект
ПРАДИС (PRADIS)считается без ошибок; - все
multi.Variableперечислены вVariable list; - объект
Dataсодержит правильные ссылки видаИмя.Value0; - переменные вставлены в параметры модели;
- датчики указаны в
POSTFunction; - все
POSTFunctionперечислены вPost-processing functions list; - после расчета создается файл
.ioout.
Типичные ошибки
Переменная не добавлена в Variable list
Переменная не будет считываться из .ioin.
Неправильная ссылка в Data
Нужно использовать:
Имя.Value0
Например:
d0.Value0
Переменная не вставлена в модель
Если в объекте осталось число вместо переменной, ИОСО (IOSO) не сможет изменять параметр.
POSTFunction не добавлен в PostData
Результат не попадет в .ioout.
Итог
Для интеграции ПРАДИС (PRADIS) с ИОСО (IOSO) необходимо:
- описать входные переменные через
multi.Variable; - подключить чтение данных через
multi.InDataIoso; - связать параметры модели через
Data; - настроить выходные параметры через
POSTFunction; - сформировать выходной файл через
PostData.
После этого ИОСО (IOSO) сможет автоматически запускать ПРАДИС (PRADIS), изменять параметры модели и получать результаты расчета для оптимизации и многовариантного анализа.


