
- •3. Анализ литературных источников математического моделирования композиционных материалов
- •3.1 Методы моделирования
- •3.1.1 Имитационное моделирование
- •3.2. Теоретические основы взаимодействия частиц в коллоидных системах.
- •3.2.1. Понятие о коллоидных системах.
- •3.2.2. Изменение энергии взаимодействия между частицами при их сближении.
- •3.2.3. Ван-дер-ваальсовые взаимодействия.
- •3.3. Техника и технология моделирования.
- •3.4. Выбор и обоснование метода моделирования для разработки бумаги и картона. Постановка задачи.
- •3.4.1. Историческая справка.
- •3.4.2. Испытания бумаги
- •3.4.3. Обоснование выбора платформы для создания моделирующей программы.
3.3. Техника и технология моделирования.
Языки моделирования – это высокоуровневые проблемно-ориентированные языки, призванные облегчить написание моделирующих программ. Они содержат ряд конструкций и функций, являющихся общими для всех моделей, такие как генераторы случайных чисел, которые отсутствуют в универсальных языках. Универсальные языки более гибки в использовании, и программы на них могут достичь большей производительности. С другой стороны, написать моделирующую программу на специализированном языке проще. Выбор типа языка и конкретного языка внутри этого типа зависит от ряда факторов, таких как доступность программного обеспечения, умение программировать и характеристики системы, которую нужно моделировать.
Сначала
перечислю языки, истоки которых восходят
к далеким уже 60-70-м годам
прошлого столетия. Самый популярный
язык моделирования прошлых лет – GPSS
(General Purpose Simulation System). Этот язык очень
удобен для моделирования систем с
очередями. И сейчас есть люди, не
признающие никаких других
языков моделирования, кроме GPSS. К
достоянию прошлого можно отнести также
языки SIMSCRIPT и GASP (General Activity Simulation Program).
GASP представляет
собой пакет подпрограмм Фортрана,
специально предназначенных для
моделирования. К достоинствам GASP можно
отнести то, что он, обладая
свойствами языка моделирования, не
требовал от программиста, знакомого сФортраном,
изучения совершенно нового языка. Версия
GASP IV позволяла также
строить модели, в которых состояния
могли изменяться во времени непрерывно.
GPSS
до сих пор имеет большое количество
поклонников и является весьма
востребованным
инструментом. Ему посвящены целые
порталы в Интернете,
а за последние годы вышли несколько
книг, посвященные описанию современных
GPSS-систем, в частности GPSS World (Minuteman
Software, Северная Каролина,
США), пришедшей на смену GPSS V, которая
использовалась
еще на машинах серии ЕС. Заслуживает
упоминания и пакет прикладных программ
RESQ. Он состоит из двух
частей – аналитической и моделирующей
– и предназначен для исследования
сетевых моделей, которые возникают в
теории вычислительных систем при оценке
их производительности.
Перейдем к более близким нам временам. Пакет DSPNexpress, разработанный в университете Дортмунда, в Германии, содержит набор эффективных численных методов анализа детерминированных и стохастических сетей Петри в переходном и стационарном режимах. С помощью пакета можно моделировать случайные процессы в дискретно-событийных стохастических системах с детерминированными или экспоненциально описанными событиями, то есть марковские и полумарковские процессы. Программное обеспечение состоит из шести модулей, взаимодействующих посредством Unix-сокетов. Эти модели реализуют различные алгоритмы расчета марковских процессов, вычисление вероятностей переходов, решение систем уравнений. На рис. 3.5 изображен пример рабочего экрана DSPNexpress [9].
Рис. 3.5. Пример экрана DSPNexpress.
Еще один пакет – MOSEL (Modeling
Specification and Evaluation Language) – также
разработан в Германии, в университетах
Эрлангена и Нюрнберга, и является
средством моделирования производительности
и надежности вычислительных,производственных систем и систем связи
[10]. Язык моделирования –главная
составляющая пакета MOSEL. Если система
описана на языке MOSEL, программное
обеспечение выполняет моделирование
автоматически. Результаты собираются
в текстовом файле или могут быть
представлены графически с помощью
специальной утилиты. Ядро MOSEL состоит
из набора языковых конструкций,
задающих состояния и переходы.
Дополнительные синтаксические правила
задают условия, при которых переходы
разрешены или запрещены. Переходы
могут происходить мгновенно или после
некоторой задержки, описываемой
непрерывной функцией распределения.
Помимо экспоненциального, можно
задать распределения Парето, Вейбулла,
нормальное, равномерное и др. Возможны
также детерминированные переходы. Язык
MOSEL несложен для понимания
и содержит много ключевых слов и
управляющих структур из языков общего
назначения, что облегчает знакомство
с ним. Типичная программа состоит
из следующих секций:
объявление параметров. Содержит описание констант и параметров системы;
определение компонентов (секция узлов). Каждый узел может содержать некоторое число работ и иметь заданную емкость;
определение переходов (секция правил). Здесь описывается динамическое поведение системы. Правило состоит из условия и действия;
результаты. Описывает, какие характеристики интересуют аналитика (вероятности состояний, среднее время отклика и др.);
графика. Необязательная секция с описанием желаемого графического представления результатов.
Архитектура моделирующей оболочки MOSEL изображена на рис. 3.6.
Рис. 3.6. Архитектура MOSEL.
Анализ производительности и надежности, выполняемый с ее помощью, состоит из следующих этапов:
Обследование реально действующей системы и ее высокоуровневое описание на языке спецификаций.
Автома
тическая трансляция модели в коды специфической подсистемы.
Загрузка нужной подсистемы оболочкой MOSEL.
В зависимости от структуры модели, в частности от типов вероятностных распределений, анализ проводится одним из следующих способов:
Генерация пространства состояний, если удалось построить модель средствами теории очередей.
Подготовка модели для имитационного эксперимента (Discrete Event Simulation), если описание аналитическими средствами невозможно.
Численный расчет аналитической модели или выполнение имитационного моделирования.
Вычисление заказанных характер
истик и их запись в файл специального формата; синтаксический разбор выходных данных и генерация читаемого файла с результатами для пользователя. В случае, если требуется графическое представление, создается файл формата IGL.
Еще одна система имитационного моделирования – Arena – разработана компанией Systems Modeling Corporation, ее первая версия появилась в 1993 г. Arena снабжена удобным объектно-ориентированным интерфейсом и обладает возможностями адаптации к разным предметным областям. Основа технологий Arena – язык моделирования SIMAN и система Cinema Animation. Процесс моделирования организован следующим образом. Сначала пользователь шаг за шагом строит в визуальном редакторе модель, затем система генерирует по ней код на SIMAN, после чего автоматически запускается анимационный модуль Cinema Animation. Интерфейс включает в себя также средства для работы с данными – электронные таблицы, ODBC, OLE и др.
Масштабная и многоплановая система ДАСИМ (Диалоговая автоматизированная система имитационного моделирования) на Unix-платформе с синтаксически развитым языком моделирования разработана в Украине специалистами Одесского политехнического института. ДАСИМ может применяться для проектирования локальных и распределенных сетей ЭВМ с коммутацией пакетов, специализированных мультипроцессорных систем и вычислительных комплексов, выбора протоколов множественного доступа к каналам связи, исследования широкого класса сетей массового обслуживания большой размерности, а также производственных процессов и автоматических линий.
ДАСИМ
не требует программирования ни на одном
из этапов создания модели, так
как ее язык является непроцедурным, его
конструкции носят описательный, а
не предписывающий характер. Основное
понятие языка ДАСИМ – это понятие
предложения.
Каждое
предложение имеет свой синтаксис,
описанный в документации.
Типы предложений и их назначение
приведены в табл. 1.1.
Структурная схема моделирующего алгоритма изображена на рис. 3.7.
Основной принцип моделирования в ДАСИМ – календарно-событийный (event-driven). Для каждого устройства генерируются время наступления ближайшего события и само событие, которое ставится в очередь, управляемую календарем. В процессе слежения управляющая программа просматривает календарь и выбирает из него событие, имеющее самое раннее время наступления. После этого системное время становится равным времени наступления выбранного из календаря события, то есть время изменяется скачком [11]. Альтернативой этому методу является пошаговое тактирование (можно сказать – непрерывное изменение) времени (time-driven) без ведения календаря событий. Именно такой метод был выбран для написания программы моделирования материала на основе волокон целлюлозы.
Таблица 3.1. Назначение предложений в ДАСИМ
|
Наименование предложения |
Назначение |
1 |
устройство |
идентификация обслуживающего устройства |
2 |
входящий поток |
описание входящих потоков требований и их свойств |
3 |
механизм обслуживания |
задание дисциплины формирования очередей |
4 |
очередь |
описание структуры очередей и ограничений, накладываемых на процесс их формирования |
5 |
механизм подключения |
задание стратегии выбора обслуживающего устройства |
6 |
время обслуживания |
задание длительностей интервалов времен обработки требований на устройстве |
7 |
время отказа |
задание времен отказа и восстановления устройства |
8 |
механизм дообслуживания |
описание стратегии обработки требования, в процессе обслуживания которого поступил отказ |
9 |
выходящий поток |
описание свойств выходящего потока |
10 |
транспортная сеть |
задание структуры транспортной сети и механизмов ограничения нагрузки на логические соединения |
11 |
время моделирования |
задание длительности времени исследования модели |
Рис.
3.7. Моделирующий алгоритм ДАСИМ
Событийный метод моделирования пользуется несколько большей популярностью у разработчиков, чем временной. Как отмечают специалисты, основная причина этого заключается в противоречивых требованиях к выбору шага изменения времени Δt: из соображения точности он должен быть как можно меньше, что снижает производительность программы и увеличивает длительность моделирования. Однако, временной метод более надежен при переходе к параллельному моделированию и распараллеливается более естественным образом, чем событийный [3].
Все чаще появляются работы, в которых выдвигается концепция универсальной моделирующей среды. Назревшую необходимость этого авторы [12] мотивируют так: «При необходимости проведения большого объема исследований наличие соответствующей специализированной системы или языка моделирования может многократно, а иногда и на несколько порядков ускорить процесс исследования... Последнее обстоятельство привело к появлению чрезвычайно большого разнообразия различных моделирующих средств и языков, ориентированных на конкретные области применения. В ежегодном обзоре, приводимом в журнале «Simulation», уже десять лет назад перечислялось около ста языков и систем, предлагаемых различными фирмами и организациями. К настоящему времени размер списка увеличился в несколько раз и имеет устойчивую тенденцию к дальнейшему росту». Сложившаяся ситуация названа «вавилонским столпотворением в моделировании». Авторы формулируют следующие принципы построения универсальной системы моделирования (УСМ):
четкая модульная структура;
масштабируемость;
открытая архитектура;
иерархия моделей;
развитый графический интерфейс.
Там же
авторы отмечают: «Применительно к
моделированию можно утверждать, что
на одном полюсе универсальности находятся
языки программирования типа Fortran,
позволяющие при достаточной квалификации
в программировании создавать
модели практически любого назначения
и любой сложности, но ценой, как
правило, значительных затрат времени
и труда. А на другом – современные
системы
широкого назначения».
Еще одна концепция универсальной системы имитационного моделирования (УСИМ) предложена в [13]. Эту концепцию автор основывает на трех принципах:
простота, то есть минимум необходимых знаний исследователя о системе и, как следствие, минимум трудозатрат на разработку модели;
модульнос
ть,то есть единообразное описание всех элементов системы в виде некоторой стандартной математической схемы;
универсальность, то есть способность охватить многоуровневые сложные системы произвольной структуры, элементы которых являются динамическими системами в широком смысле слова.
Подводя итоги обзора разных моделирующих платформ, можно отметить, что среди десятков языков моделирования нет наилучшего, который бы превосходил по всем показателям остальные. Каждый имеет свои достоинства и недостатки, а также четко очерченную область применения.