{Главная страница}  {Библиотека}  {Ссылки}  {Статистика поиска}
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1. ОБЗОР СРЕДЫ МОДЕЛИРОВАНИЯ
1.5.1 Команды для интерпретатора – model.do
1.5.2 Описание структуры модели – model.anl
1.5.3 Начальные значения блоков – block.dat
1.5.4 Файлы результатов – model.dsf/model.ddf
1.6 Использование среда DIVA в гетерогенных сетях
1.7 Протокол взаимодействия
2. УСТАНОВКА МОДЕЛИРУЮЩЕЙ СИСТЕМЫ
DIVAСПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ВВЕДЕНИЕ
В настоящее время сильно возрос спрос на программы для моделирования различных технологических процессов. Моделирование динамических систем сейчас используются в аэрокосмической промышленности, ядреной энергетике, и других отраслях промышленности. Частным случаем таких процессов являются химические процессы.
Большинство существующих ныне моделирующих систем жестко специализированы и ориентированы на решение одной единственной проблемы. С помощью среды моделирования
DIVA можно выполнять различные работы по моделированию процессов во множестве областей химической промышленности, причем она помогает принимать решения при выборе варианта реализации как технологического процесса так и построения технологического аппарата в целом. При моделировании можно учитывать энергозатраты процессов, материалоемкости и их воздействия на окружающую среду.1. ОБЗОР СРЕДЫ МОДЕЛИРОВАНИЯ
1.1 Структура моделирующей среды
В данной работе используется структура территориально распределенной моделирующей среды предложенная профессором Святным В. А. (см. рис.1.1).
При данной структуре моделирующая среда состоит из основных компонент:
Прототип моделирующей среды DIVA был разработан в 1987-1990 гг. в институте системной динамики и управления (ISR) Штуттгартского университета на базе ранее проводившихся в институте исследовательских работ в области разработки моделирующих систем сложных химических процессов и моделирования отдельных технологических аппаратов и установок. Одним из первых применений среды стала реализация в 1989 году тренажера для учебного центра
Рисунок 1.1 – Территориально распределенная моделирующая среда
фирмы BASF, занимающей третье место в мире по объемам химического производства.
В качестве основных областей применения моделирующей среды DIVA можно назвать следующие:
1.2 Структура моделирующей системы DIVA
Моделирующая среда DIVA состоит из следующих компонентов (рис.1.2):
Рисунок 1.2 – Структура моделирующей среды
DIVAЭта часть принимает от пользователя команды управляющие структурой текущей модели, параметрами ее, параметрами моделирования и используемыми библиотеками численных методов.
Данные библиотеки используются для обеспечения низкоуровневого решения задач. Они содержат методы, такие как интеграторы, поиск решения, анализаторы, динамические оптимизаторы и другие.
Эта часть предназначена для первичного преобразования описания блока модели с языка LISP (файлы с расширением cg - собственно LISP подпрограммы использующиеLISP пакет CG), понятного для человека, до состояния FORTRAN-подпрограмм (расширения f и inc) и файлов параметров этого блока модели (расширение dat).
Эта часть системы служит для визуализации результатов моделирования.
Общая схема работы моделирующей среды DIVA
drun < model.do > model.out
1.3
Структура каталогов DIVAКомандные файлы доступные пользователю
Кодогенератор
Математические вспомогательные библиотеки
Моделирующая система DIVA
/std - дерево DIVA
1.4
Структура модели в системе DIVAВо-первых, математическая модель процесса, пригодная для реализации в среде DIVA, может быть представлена системами алгебраических и обыкновенных дифференциальных уравнений, а также системами уравнений в частных производных с заданными начальными и граничными условиями.
Во-вторых, моделирование рассматривается как блочно-ориентированное (может быть также интерпретировано как объектно-ориентированное), что предполагает задание модели в виде совокупности относительно автономных блоков – базовых элементов, каждый из которых может быть или стандартным элементом из библиотеки, или некоторым специфическим элементом, заданным пользователем. Каждый из блоков может иметь свою, иногда довольно сложную, математическую модель. В среде DIVA каждому блоку соответствует Фортран-программа, процесс создания которой автоматизирован и выполняется специальной программой-кодогенератором.
В качестве примера можно привести следующие базовые элементы
В общем случае каждый блок, соответствующий реальному технологическому устройству, описывается системой алгебро-дифференциальных уравнений, представленных в явной линейной форме с соответствующими начальными условиями:
где
1.5
Представление модели в виде набора входных данныхПолное описание модели содержит набор файлов с расширениями do, anl, dat.
Схематически структура модели представлена на рис.1.3 Рассмотрим подробно каждый из типов файлов
1.5.1
Команды для интерпретатора – model.doМоделирующая система DIVA содержит очень мощный язык для управления процессом моделирования. Этот язык может использоваться как для описа
-
Рисунок 1.3 – Схематическая структура модели в среде моделирующей системы DIVA
ния модели в пакетном режиме при использовании технологии “клиентї” – “сервер”, так и для интерактивного диалога с интерпретатором команд DIVA. Описанный выше файл с расширением model.do (используемый нами по умолчанию) является набором команд для интерпретатора DIVA. Подробную информацию о командах DIVA можно найти в документации по системе DIVA на инсталляционном CD-ROM.
Ниже приведен пример файла model.do описывающий модель реактора синтеза уксусной кислоты.
INISOL
INIINT int10
INIANL/A=REAK1/offline/outfile=modelout
integrate/tend=10800.
set/flush
Файл содержит базовые команды инициализации (INISOL/INIINT), Открытие файла модели (INIANL) с указанием имени файла reak1.anl и выходных файлов modelout.dsf и modelout.ddf. Следующая команда integrate производит решение модели с временем окончания 10800 секунд.
1.5.2
Описание структуры модели – model.anlФайл описания структуры модели имеет вид:
Anlagenfile
Blockliste
-1---DAA01---------------FEED -----
-2---DAB01---------------REAK1-----
-3---DAZ03---------------AUS -----
ENDE
CONNEC
FEED
REAK1
1 FEED 1
2 FEED 2
. . .
20 FEED 20
21 FEED 21
AUS
1 REAK1 1
2 REAK1 2
. . .
13 REAK1 13
14 REAK1 14
Приведенный в примере файл описывает модель состоящую из 3 блоков FEED,REAK1 и AUS и взаимосвязь между ними.
1.5.3
Начальные значения блоков – block.datПриведем пример файла feed.dat для вышеописанной модели:
STRUCTURE_PARAMETER
1
21
INTEGER_PARAMETER
0
REAL_PARAMETER
21
0.12931 #fliqpar_1
0.08822 #fliqpar_2
0.03533 #fliqpar_3
0.032932 #fliqpar_4
0.10412 #fliqpar_5
0.0 #fliqpar_6
346.15 #TFliqpar
0.6867701209D-02 #kdliq
0.1353448790D+00 #kdx1
0.3223668242D-06 #kdx2
0.9400673271D-01 #kdx3
0.5586732772D-01 #kdx4
0.7147807382D+00 #kdx5
0.3946168064D+03 #kdT
0.7185407808D+00 #flshliq
0.3550417120D+00 #flshx1
0.3620581542D-06 #flshx2
0.6355033137D+00 #flshx3
0.6760144249D-02 #flshx4
0.2694467965D-02 #flshx5
0.3640457472D+03 #flshT
STRING_PARAMETER
0
PHI
0
STATES
21
0.1 #Fliq_i_1
0.0 #MIN
1.0 #MAX
1.0E-8 #ABS
0.1 #Fliq_i_2
0.0 #MIN
1.0 #MAX
1.0E-8 #ABS
. . .
350.0 #TFliq
270.0 #MIN
500.0 #MAX
1.0E-5 #ABS
INPUT
0
OUTPUT
21
#Fliq_iout_1
#Fliq_iout_2
#Fliq_iout_3
#Fliq_iout_4
#Fliq_iout_5
#Fliq_iout_6
#TFliqout
#kdliq_out
#kdx1_out
#kdx2_out
#kdx3_out
#kdx4_out
#kdx5_out
#kdT_out
#flshliq_out
#flshx1_out
#flshx2_out
#flshx3_out
#flshx4_out
#flshx5_out
#flshT_out
Файл содержит описание входов блока(INPUT), выходов (OUTPUT), параметров (_PARAMETR) и переменных состояний (STATES).
1.5.4
Файлы результатов – model.dsf/model.ddfРезультаты моделирования выдаются в ввиде набора двух файлов
Файл dsf состоит из двух основных уровней описаний.
Схематически структура файла dsf показана на рис.1.4
1.6
Использование среда DIVA в гетерогенных сетяхИзначально среда DIVA разрабатывалась с расчетом на то, что человек будет вручную создавать модель и необходимые блоки при помощи вспомогательных программ (например codegenerator). После этого все необходимые файлы человек подает на вход DIVA и получив файлы данных dsf/ddf при помощи MatLab и пакета DivaGraphics отобразить данные для последующей обработки. Такая схема работы очень трудоемка и требует чтобы оператор имел хорошие знания по работе в операционных системах семейства UNIX.
Рисунок 1.4 – Схематически структура файла dsf
К сожалению, для большинства пользователей это неприемлемо. Для этого предполагается реализовать взаимодействие конечного пользователя со средой DIVA по схеме “клиент-сервер”.
На рис
.1.5 показана предполагаемая схема взаимодействия Windows клиента и DIVA сервера на UNIX системе.В данном варианте предполагается что на Windows клиенте при помощи специализированного программного обеспечения разрабатывается и подготавливается в форматах DIVA модель и через сеть с использованием протокола TCP/IP передается на UNIX сервер на вход специализированной программе – демону divad. divad в свою очередь может в простейшем случае выполняет ее при помощи локальной Diva.
Заметим что данная схема универсальна как для прямого обмена заданием и результатом через
TCP соединение, так и может работать при обмене через почтовый сервис. Для этого клиент может послать письмо с вложенным файлом model.zip на специальный адрес (например, divad@cs.donntu.ru). Внутри этого архива должен содержаться командный файл model.do содержащий стартовые команды для системы DIVA. В этом же файле должна содержаться ссылка на описание соединений между блоками (anl- файл) и соответствующие им dat файлы с начальными параметрами для блоков. Демон распаковывает этот архив во временную директорию и запускает diva на моделирование сохраняя вывод программы в файл model.out. После завершения демон архивирует содержимое директории в result.zip файл и отправляет обратно отправителю используя стандартный агент доставки почты для Unix систем - sendmail.
1.7 Протокол взаимодействия
Клиент и сервер взаимодействуют друг с другом по заранее установленному протоколу. В общем виде протокол можно представить в виде чередую
-
Рисунок 1.5 – Схема взаимодействия Windows клиента и DIVA сервера на UNIX системе
щихся посылок команд и подтверждений. Инициатором протокола обмена из соображений безопасности системы выступает клиент.
2. УСТАНОВКА МОДЕЛИРУЮЩЕЙ СИСТЕМЫ
DIVA
Моделирующая система
DIVA является приложением Unix-подобных операционных систем. Большинство Unix-подобных операционных систем рассчитаны на использование профессиональными программистами и администраторами, поэтому они снабжены рудиментарными средствами инсталляции программного обеспечения, а зачастую вовсе лишены таковых. Поэтому вся тяжесть установки ложится либо на разработчика программного обеспечения, что встречается очень редко и, в основном, в крупных коммерческих продуктах, либо на пользователя программного обеспечения. Зачастую установка программного обеспечения является нетривиальным процессом и требует глубоких знаний как самого программного обеспечения, так и операционной системы. Тем более, что большинство программных продуктов для Unix-подобных операционных систем поставляется в виде исходных кодов и требует компиляции.В данном разделе рассматривается процесс установки и проверки ее корректности моделирующей системы
DIVA. Данная система снабжается инсталляционным компакт-диском, который содержит как исходные тексты моделирующей системы DIVA, так и скомпилированные программные модули.Моделирующая система DIVA рассчитана на эксплуатацию с использованием различного аппаратного обеспечения, а именно:
Эксплуатация моделирующей системы DIVA возможна в среде различных Unix-подобных операционных систем, как то:
Такое разнообразие аппаратного обеспечения и операционных систем обеспечивается их совместимостью со стандартом
POSIX.Моделирующая система DIVA снабжена набором примеров, хранящихся в папке
std/examples. Данные примеры позволяют проверить корректность функционирования установленной моделирующей системы DIVA. Список примеров из папки std/examples:Наличие как скомпилированных программных модулей, так и исходных текстов моделирующей системы DIVA на инсталляционном компакт-диске позволяет как установить готовые, скомпилированные программные модули, так и произвести модификацию и установку самостоятельно скомпилированных исходных текстов моделирующей системы DIVA.
Рассмотрим процесс установки моделирующей системы DIVA с использованием заранее скомпилированных программных модулей.
Установка моделирующей системы DIVA производится в каталог ./
usr/local. Выбор каталога для установки не является принципиальным, но дальнейшие действия по установке подразумевают присутствие моделирующей системы DIVA именно в данном каталоге.В каталоге ./
usr/local создается каталог diva, который будет домашним каталогом устанавливаемой моделирующей системы DIVA. В данном каталоге необходимо разместить дерево каталогов моделирующей системы DIVA. К необходимой части данного дерева относятся следующие каталоги:После этого необходимо добавить к путям поиска по умолчанию операционной системы путь к командным файлам моделирующей системы DIVA. Данные файлы находятся в каталоге ./
usr/local/diva/std/cmd. Сделать это можно, например, следующей командой оболочки bash:set PATH=[…]:/usr/local/diva/std/cmd
где
[…] обозначает ранее содержащееся в переменной окружения PATH значение. Узнать, какое значение содержится в данной переменной окружения можно с помощью той же команды set без параметров. В результате ее выполнения на экран выводятся данные вида:[root@xxx /root]# set
BASH=/bin/bash
BASH_VERSION=1.14.7(1)
COLUMNS=80
ENV=/root/.bashrc
EUID=0
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=xxx
HOSTTYPE=i386
IFS=
INPUTRC=/etc/inputrc
KDEDIR=/usr
LANG=ru
LC_ALL=ru_RU.KOI8-R
LINES=24
LINGUAS=ru
LOGNAME=root
MAIL=/var/qmail/alias/Maildir/
MAILCHECK=60
MAILDROP=/var/qmail/alias/Maildir/
OPTERR=1
OPTIND=1
OSTYPE=Linux
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/var/qmail/bin:/usr/local/sbin:/root/bin
PPID=11404
PS1=[\u@\h \W]\$
PS2=>
PS4=+
PWD=/root
QMAILMFTFILE=/root/.lists
SHELL=/bin/bash
SHLVL=1
SYSFONT=RUSCII_8x16
TERM=vt100
TMP=/tmp/00functions.T5eD1d
UID=0
USER=root
USERNAME=root
_=n
j=/usr/local/sbin
kdepath=/usr/bin
oldumask=022
oldvalue=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/var/qmail/
bin
pathcomponent=/usr/local/sbin
pathlikevar=PATH
Как видно из приведенного листинга, в переменной окружения
PATH содержаться следующие значения:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/var/qmail/bin:/usr/local/sbin:/root/bin
В этом случае нужно использовать команду
set для установки переменной окружения PATH следующим образом:set PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin: /usr/local/bin:/var/qmail/bin:/usr/local/sbin:/root/bin: /usr/local/diva/std/cmd
Далее необходимо установить значение переменной окружения DIVA_PAR на каталог моделирующей системы DIVA /std/par. Данное действие необходимо для корректного функционирования моделирующей системы
DIVA. Выполняется это действие также с помощью команды set следующим образом:set DIVA_PAR=/usr/local/diva/par
Теперь нужно создать символические ссылки на используемые библиотеки моделирующей системы
DIVA в системном каталоге /lib. В нашем случае используются следующие библиотеки из каталога /usr/local/diva/std/lib:Проще всего это сделать с использованием оболочки
Midnight Commander. Для этого нужно переместить курсор на файл каждой из вышеперечисленных библиотек, в меню File оболочки выбрать опцию SymLink и в качестве имени ссылки задать имя требуемой библиотеки.После выполнения вышеперечисленных шагов моделирующая система
DIVA готова к использованию. Проверим корректность функционирования моделирующей системы DIVA. Для этого используем один из стандартных примеров, прилагаемых к системе, например /beh. Запуск моделирующей системы DIVA производится из каталога /usr/local/diva/std/examples/beh с помощью следующей команды:drun <beispiel.do >beispiel.out
Появление
в каталоге /usr/local/diva/std/examples/beh файлов beispiel.dsf, beispiel.ddf и beispiel.out является признаком правильного функционирования моделирующей системы DIVA.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ