{Главная страница}  {Библиотека}  {Ссылки}  {Статистика поиска}


ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

1. ОБЗОР СРЕДЫ МОДЕЛИРОВАНИЯ
1.
1 Структура моделирующей среды
1.2 Структура моделирующей системы DIVA

1.3
 Структура каталогов DIVA
1.4
 Структура модели в системе DIVA
1.5
 Представление модели в виде набора входных данных

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. Разработка и оптимизация аппаратов химических и биологических производств, в т.ч.

    1. Наблюдение за технологическими процессами и управление ими, в т.ч.

    1. Обучение и тренаж, в т.ч.

 

1.2 Структура моделирующей системы DIVA

Моделирующая среда DIVA состоит из следующих компонентов (рис.1.2):

    1. Интерпретатора команд
    2.  

       

       

       

      Рисунок 1.2 – Структура моделирующей среды DIVA

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

    3. Библиотек численных методов
    4. Данные библиотеки используются для обеспечения низкоуровневого решения задач. Они содержат методы, такие как интеграторы, поиск решения, анализаторы, динамические оптимизаторы и другие.

    5. Библиотеки корреляции физических параметров модели.
    6. Библиотеки блоков моделей
    7. Кодогенератора (Codegenerator)
    8. Эта часть предназначена для первичного преобразования описания блока модели с языка LISP (файлы с расширением cg - собственно LISP подпрограммы использующиеLISP пакет CG), понятного для человека, до состояния FORTRAN-подпрограмм (расширения f и inc) и файлов параметров этого блока модели (расширение dat).

    9. Отображения результатов (Visualisation module)

Эта часть системы служит для визуализации результатов моделирования. Наиболее часто применяется в научных исследованиях система DivaGraphics, которая представляет собой набор правил для коммерческой системы MatLab.

Общая схема работы моделирующей среды DIVA

    1. Подготовка модели в форме описания блоков и их соединений (anl)
    2. Подготовка начальных параметров блоков (dat).
    3. При необходимости подготовка блока при помощи кодогенератора.
    4. Подготовка командного файла с указанием временных параметров моделирования (например model.do)
    5. Запуск моделирования:
    6. drun < model.do > model.out

    7. Анализ хода моделирования на основе сообщений в файле model.out
    8. Визуализация данных из файлов model.dsf/model.ddf при помощи MatLab/DivaGraphics.

 

1.3 Структура каталогов DIVA

Командные файлы доступные пользователю

Кодогенератор

Математические вспомогательные библиотеки

Моделирующая система DIVA

/std - дерево DIVA

 

1.4 Структура модели в системе DIVA

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

Во-вторых, моделирование рассматривается как блочно-ориентированное (может быть также интерпретировано как объектно-ориентированное), что предполагает задание модели в виде совокупности относительно автономных блоков – базовых элементов, каждый из которых может быть или стандартным элементом из библиотеки, или некоторым специфическим элементом, заданным пользователем. Каждый из блоков может иметь свою, иногда довольно сложную, математическую модель. В среде DIVA каждому блоку соответствует Фортран-программа, процесс создания которой автоматизирован и выполняется специальной программой-кодогенератором.

В качестве примера можно привести следующие базовые элементы

    1. Технологические

    1. Управляющие

    1. Специальные

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

где

 

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 состоит из двух основных уровней описаний.

    1. Уровень блоков ключей. Обычно один блок ключей соответствует одному блоку модели.
    2. Блоков пар значений.

Схематически структура файла 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.

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

    1. Святный В. А. Проблеми паралельного моделювання складних динмiчних систем. Науковi працi Донецького державного технiчного унiверсiтету. Серiя: Iнформатiка, кiбернетiката обчислювальна технiка, випуск 6. Донецьк:ДонДТУ, 1999 - 330 с.
    2. A. Keienle, F. Pfisterer, R. Wascher, S. Sviatnyi, E. D. Gilles, A. Anoprienko, T. Osipova Modeling and Simulation of a Chemical Reactor for Production of Acetic Acid - II. Two Phase Model. Науковi працi Донецького державного технiчного унiверсiтету. Серiя: Iнформатiка, кiбернетiката обчислювальна технiка, випуск 6. Донецьк:ДонДТУ, 1999 - 330 с.
    3. Робачевский А.М.Операционная система UNIX.Спб.:BHV, 1999 - 528с.
    4. Немет Е., Снайдер Г., Сибаис С., Хейн Т. UNIX: руководство системного администратора. Киев:BHV, 1996 - 832 с.
    5. Карлинг М., Деглер С., Деннис Д. Системное администрирование Linux. Москва: Издательский дом "Вильямс", 2000. - 320 с.

Copyright (c) 2001 Виктор Сисюкин