Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Raskina_Kurganova_Reshenie_prikladnih_zadach.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.65 Mб
Скачать

2. Имитационное моделирование непрерывных динамических систем

2.1. Программное обеспечение для моделирования непрерывных динамических систем

Для моделирования непрерывных динамических систем в настоящее время существует ряд языков типа DYNAMO, СИМФОР, о которых говорилось выше, кроме того, поскольку моделирование непрерывных динамических систем связано с решением дифференциальных уравнений, для моделирования и исследования таких систем можно использовать математические пакеты, реализующие различные численные методы, а также предоставляющие возможности аналитических преобразований. Наиболее известными являются Mathematica, Maple, пакеты Simulink и Stateflow, работающие вместе с Matlab, Mathcad. Возможности этих пакетов достаточно широки и рассмотрение их в рамках данного пособия не предусмотрено. Рассмотрим примеры моделирования непрерывных динамических систем с использованием интегрированной оболочки MVS.

2.2. Основные сведения о mvs

Процесс создания любой компьютерной модели условно можно разделить на два этапа. На первом этапе формулируются цели моделирования, и будущая модель описывается с помощью формализованного языка. На втором этапе выбирается программное средство, с помощью которого эту модель можно реализовать наиболее эффективным способом.

Особое внимание следует уделить изучению моделей, описываемых дифференциальным уравнением или системой дифференциальных уравнений. При этом компьютерная реализация моделей может быть осуществлена:

  1. с помощью табличного процессора (как правило, MS Excel);

  2. путем создания программ на одном из выбранных языков программирования (Pascal, Basic, Delphi и др.);

  3. с помощью специальных пакетов прикладных программ для решения математических задач (MathCad и т. п.);

  4. средствами программ, предназначенных для разработки непрерывных динамических моделей (интегрированная оболочка Model Vision Studium).

Следует отметить, что при построении некоторых моделей при помощи MS Excel, MathCad могут возникать трудности при попытке качественного исследования модели, включая построение диаграмм на фазовой плоскости параметров модели. Трудности при численном решении дифференциального уравнения или системы дифференциальных уравнений, при постановке экспериментов и др. Вышеперечисленные трудности возникают из-за «нецелевого» использования программных продуктов.

Поэтому мы предлагаем на этапе выбора программного средства использовать Model Vision Studium (MVS). Рассмотрим возможности моделирования непрерывных динамических систем в среде Model Vision Studium (MVS).

Model Vision Stadium (MVS) – интегрированная графическая оболочка для быстрого создания интерактивных визуальных моделей сложных динамических систем и проведения вычислительных экспериментов с ними. В то же время MVS позволяет осуществлять интерактивное вмешательство при постановке эксперимента. Пакет MvStudium разработан исследовательской группой Санкт-Петербургского Государственного Политехнического Университета.

Ключевыми проблемами при разработке MVS являлись:

  1. поддержка технологии объектно-ориентированного моделирования (ООМ), совместимой с языком UML;

  2. возможность создания пользователем собственных компонентов;

  3. удобное и адекватное описание непрерывных, дискретных и гибридных (непрерывно-дискретных) систем;

  4. обеспечение достоверности численного решения;

  5. поддержка активного вычислительного эксперимента;

  6. обеспечение моделирования, визуализации результатов и управления вычислительным экспериментов без написания какого-либо программного кода.

В основе технологии MVS лежит понятие виртуального лабораторного стенда, на котором размещаются различные виртуальные блоки моделируемой системы (вновь создаваемые и стандартные, например генераторы сигналов, измерительные приборы, устройства отображения, соединенные виртуальными «кабелями»). Вся виртуальная квазиаппаратура функционирует независимо и параллельно, подобно физическим двойникам «в металле».

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

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

Окна интегрированной среды (рис. 1).

  1. Окно управления проектом содержит дерево основных составляющих проекта. К составляющим проекта относятся: классы блоков, глобальные (т.е. видимые во всех составляющих проекта) константы, глобальные процедуры и функции, виртуальный стенд и импортируемые библиотеки классов. С помощью контекстного меню можно добавлять новые компоненты, удалять и редактировать существующие.

  2. Окно виртуального стенда содержит структурную схему моделируемой системы, то есть экземпляры блоков и связи между ними. Если рассматриваемая модель является изолированной системой, то, в общем, нет особой необходимости в структурной схеме и блоках. Однако пакет ориентирован на блочное моделирование и потому изолированная система представляется как блок без входов и выходов, а ее модель в виде виртуального стенда с экземпляром такого блока.

  3. Окно редактирования добавленного по умолчанию класса (в данном случае класса «Маятник») содержит дерево составляющих описания класса. Поскольку данный блок предполагается непрерывным, то по умолчанию в него добавлена пустая система уравнений с именем «Система_уравнений_1». Непрерывная система рассматривается как вырожденный случай гибридного автомата, главная карта поведения которого содержит только один узел, которому и приписана соответствующая система уравнений. Поэтому если вы откроете главную карту поведения такого класса (с помощью двойного щелчка мыши на соответствующем узле дерева), вы увидите, что она состоит из единственного узла Init (унаследованного от общего предка всех блоков класса CDevice), которому и приписана «Система_уравнений_1».

  4. Окно редактирования системы уравнений.

Рис. 1. Окна интегрированной оболочки MVS

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

Входной язык

Входной язык имеет две формы представления: графическую (используется для интерактивного редактирования описания модели и визуализации вычислительного эксперимента) и текстовую (описание модели на внутреннем языке MVL).

Блоки и связи

Устройство является основным элементом модели. Это ориентированный блок, функционирующий параллельно и независимо от других блоков в непрерывном времени. Визуально на схеме имеет вид прямоугольника с ориентированными стрелками (входы и выходы), идентификатором устройства и иконкой класса.

Устройство может взаимодействовать с окружающим миром только через входы и выходы, составляющими вместе с параметрами (неизменяемыми значениями) интерфейс устройства. Все остальные составляющие инкапсулированы в его теле.

--------------интерфейс-----------------

параметры;

входы;

выходы;

--------------тело--------------------------

переменные состояния;

функции поведения;

внутренняя структура.

Входы, выходы и переменные состояния называются фазовыми переменными и составляют фазовый вектор устройства. Устройство может быть элементарным (не имеющим внутренней структуры) или составным. Внутренняя структура включает в себя внутренние устройства и функциональные связи, образующие функциональную схему составного устройства. Описание устройства всегда строится как описание класса устройств. Все устройства являются потомками базового класса. Устройства могут соединяться между собой однонаправленными функциональными связями и входить в состав других устройств, образуя иерархическую структуру связей.

Поведение

Поведение любого блока является гибридным (задается формализмом гибридного автомата). Гибридным автоматом называется граф переходов, узлам которого приписаны некоторые непрерывные отображения, а дугам – условия переходов и выполняемые действия. В настоящее время для формального описания дискретных «машин состояний» стандартом стала «карта состояния», придуманная Д. Харелом и «канонизированная» в UML. Карта состояний, узлам которой приписаны некоторые непрерывные отображения, называется гибридной картой состояний (рис. 2).

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

Рис. 2. Карта поведения

В общем случае класс является потомком (подклассом) некоторого суперкласса.

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

В MVS встречаются следующие типы данных:

Скалярные типы: вещественный (double), целый (byte, short, integer), булевский (boolean), перечислимый, символьный (char, string).

Регулярные типы: векторы (vector[N]) и матрицы (matrix[N,M]).

Алгоритмические процедуры и функции могут быть заданы либо с помощью алгоритмических операторов MVL, либо во внешнем программном модуле с использованием подходящего языка программирования. Алгоритмические операторы можно также использовать в действиях перехода, входных и выходных действиях узла карты поведения.

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

Основные операторы: присваивания, вызова процедуры, условный оператор, оператор варианта, цикла, возврата.

Непрерывное поведение в общем случае задается совокупностью обыкновенных дифференциальных = и алгебраических уравнений , а также формул вида = <выражение не зависящее от >.

Система уравнений может включать в себя обыкновенные дифференциальные уравнения первого порядка и алгебраические уравнения. Форма ввода уравнений достаточно свободная (рис. 3)

Рис. 3. Редактор Формул.

Например, последние два уравнения можно представить в виде:

X-L*sin(Alpha) = 0

Y+L*cos(Alpha) = 0

find X,Y

Следует, однако, помнить, что такая форма уравнений потребует от пакета значительно больше усилий. Аналитически разрешенные уравнения (формулы) при отсутствии в них циклов сводятся просто к последовательности операторов присваивания.

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

Временная и фазовая диаграммы

Для пользователя основным является визуальное представление модели, в котором элементы описания (уравнения, карты поведений, структурные схемы) представляются в естественной графической форме. В MVS предусмотрена визуализация результатов моделирования при помощи временной (рис. 4) и фазовых диаграмм (рис. 5).

Рис. 4. Временная диаграмма, иллюстрирующая колебания математического маятника

Рис. 5Фазовая диаграмма, иллюстрирующая колебания математического маятника

3D-анимация

Для многих моделей (особенно моделей механических систем) пользователь может получить больше всего информации из непосредственного наблюдения трехмерного динамического изображения моделируемой системы. В визуальной модели для этого предназначено окно 3D-анимации. Окно 3D-анимации позволяет строить динамические трехмерные изображения, в виде совокупности трехмерных примитивов (линия, шар, цилиндр, конус и т.д.), некоторые параметры которых (координата, радиус, цвет и т.п.) однозначно связаны со значением соответствующих переменных модели (рис. 6).

Рис. 6. 3D-анимация, иллюстрирующая колебания математического маятника

2D-анимация

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

Имеется набор стандартных 2D-компонентов: линейные индикаторы, стрелочный индикатор, линейный движок, поворотный регулятор, цветовой индикатор, кнопки.

Можно перемещать 2D-компоненту в пределах окна анимации, а также изменять размер компоненты (рис. 7).

Рис. 7. 2D-анимация

Интерактивными 2D-компонентами являются Ползунок, «Круговой регулятор» и «Кнопка». Остальные компоненты позволяют только отображать текущее значение переменной. Например, используя две компоненты «Линейный индикатор сплошной» для индикации значений переменных Alpha и Omega можно получить следующую картинку (рис. 8).

Рис. 8. Линейный индикатор сплошной

В заключение хотелось бы отметить, что такие достоинства среды MVS, как простота создания моделей для любого уровня пользователей; повторное использование уже созданных и подтвердивших свою работоспособность моделей на основе использования технологии объектно-ориентированного моделирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]