Как работать с AnyDynamics?

Top  Previous  Next

Разработка новой модели в AnyDynamics предусматривает:

 

создание нового проекта (пакета);

наполнение созданного проекта описанием моделируемой системы на входном языке моделирования;

отладку модели.

 

Чтобы создать новый проект, нужно выполнить команду меню «Проект/Новый…» и выбрать вид нового проекта, имя проекта и папку для

его размещения (рис.1).

 

НовыйПроект

                 Рис.1

 

После нажатия на кнопку «Создать» в указанной папке ("G:\Модели\BouncingBall") появятся следующие файлы:

 

BouncingBall.mvbx — файл XML-представления проекта в специализированной объектно-ориентированной базе данных mvBaseX,

  с которым работают все компоненты AnyDynamics;

BouncingBall.ini — текстовый файл основных установок данного проекта;

BouncingBall_ide.ini — текстовый файл установок интегрированной среды для данного проекта;

BouncingBall_em.ini — текстовый файл установок визуальной модели для данного проекта.

 

При последующих открытиях проекта и внесении изменений в папке появится двоичный файл BouncingBall.bak - предыдущая версия проекта.

 

Первоначальное состояние интегрированной оболочки AnyDynamics для нового проекта общего вида показано на рис.2.

 

НовыйПроектОкноНач

                                         Рис.2        

 

Главное окно содержит менеджер проекта (слева) и окно описания модели в целом (окно класса «Model»).

Проект соответствует модулю UML, то есть пакету. Менеджер проекта содержит описания элементов пакета: классов, типов (определяемых

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

В новом проекте автоматически появляется класс «Model» и импортируется стандартный пакет «SysLib» (содержит набор классов, примерно

соответствующий набору элементов подсистемы Simulink). Все элементы пакета являются глобальными — видны в любом месте описания пакета.

 

Используя интегрированную среду, пользователь создает описание модели — наполняет проект модельными элементами.

С помощью редактора уравнений он вводит системы уравнений в естественной математической форме, с помощью редактора карт поведения рисует

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

конструкций.

 

На рис.3 показана готовая модель отскакивающего шарика.

 

BB_model

                                         Рис.3

 

На рис.4 показаны уравнения внутреннего непрерывного класса, описывающего движение шарика.

 

ДвижШарика

                         Рис.4

 

По окончании первоначального наполнения проекта начинается отладка модели.

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

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

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

 

Для этого пользователь запускает интерактивную визуальную модель, выполнив команду «Модель/Запустить визуальную модель»

главного меню или нажав на соответствующую кнопку на панели инструментов. В ответ на это интегрированная среда автоматически

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

 

Выполняемая модель в целом — это объект «model» — экземпляр класса «Model». Проект может содержать сколь угодно много

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

класса «Model».

 

AnyDynamics является компилирующим инструментом моделирования. Это означает, что для каждого элемента описания модели генерируется

специальный программный код. Выполняемая модель является выполняемым модулем Windows. Поэтому выполняемые модели AnyDynamics

работают быстро.

 

Визуальная выполняемая модель предоставляет широкий спектр возможностей для интерактивного эксперимента с моделью.

Пример визуальной выполняемой модели отскакивающего шарика показан на рис. 5.

 

BB_vis_model

 

                                 Рис.5

 

Визуальная модель обладает широким набором возможностей визуализации:

анимация работы карт поведения;

динамическая визуализация значений переменных;

построение временных и фазовых диаграмм с возможностью сохранения результатов в файле;

построение гистограмм;

2D- и 3D-анимация;

динамическая визуализация текущей совокупной системы уравнений;

динамическая визуализация структуры численно решаемой системы уравнений;

динамическая визуализация матрицы Якоби решаемой системы уравнений и ее собственных чисел.

 

 

Кроме того, в визуальной модели доступны средства интерактивного планирования эксперимента и отладки:

составление плана простого эксперимента;

интерактивное изменение значений переменных;

создание виртуальных переменных;

остановы по времени (непрерывному и дискретному);

останов по входу в состояние;

останов по срабатыванию перехода;

останов по условию;

пошаговая отладка дискретных действий;

сохранение и восстановление текущего состояния модели;

сравнение текущего состояния модели с ранее сохраненным состоянием;

хронометрирование работы модели.

 

По завершении отладки готовая модель может быть:

использована для проведения с ней вычислительных экспериментов с целью анализа моделируемой системы и положена в архив после написания отчета;

использована как пакет готовых стандартных компонентов (библиотека классов) для данной содержательной области;

встроена в виде DLL во внешнее приложение (только для RMD Professional);

сохранена как отдельное визуальное приложение для использования независимо от AnyDynamics.

 

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

 

• получение параметрической зависимости, то есть зависимости выходной переменной модели от параметра;

• определение вероятности события при заданных законах распределения параметров модели;

• определение математического ожидания и среднеквадратического отклонения выходной переменной модели

  при заданных законах распределения параметров модели;

• анализ глобальной чувствительности — ранжирование параметров модели по степени их влияния на выходную переменную модели;

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

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

 диапазонов значений оптимизируемых параметров, а также в виде соотношений между этими параметрами — равенств и неравенств.

 

Перед использованием проекта как библиотеки классов моделист должен установить правила видимости элементов пакета извне (когда

этот пакет будет импортирован в другие проекты). По умолчанию класс «Model» имеет статус видимости «private», а остальные элементы — «public».

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

видимости «private». Если разработчик хочет, чтобы элемент был виден, но его внутреннее устройство было недоступно, то он должен установить

статус видимости «protected».

 

Чтобы сохранить модель как отдельное визуальное приложение для использования независимо от AnyDynamics,

нужно выполнить команду главного меню «Модель/Сохранить визуальную модель как…».

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