Моделирование динамических систем по сути является прародителем системно-динамического подхода моделирования. Моделирование с помощью данного подхода используется в мехатронике, электрической, химической и других инженерных областях в качестве стандартного этапа процесса разработки. С математической точки зрения динамическая система представляет собой набор переменных состояния и алгебраических дифференциальных уравнений различного вида, заданных для этих переменных и описывающих их изменение с течением времени. В отличие от системной динамики, переменные здесь несут некоторый "физический" смысл: координаты местоположения, скорость, ускорение, сила, концентрация и т.д., они, как это следует из их смысла, непрерывны и не являются агрегированными величинами, отражающими, например, общее количество или среднее значение нескольких сущностей.
Так же как и в случае с системной динамикой, дискретно-событийным (процессным) и агентным моделированием, AnyLogic предоставляет удобные инструменты и для тех, кто моделирует динамические системы:
-
AnyLogic предоставляет специальные элементы — динамические переменные для задания дифференциальных и алгебраических уравнений:
Накопитель - для дифференциальных уравнений.
Динамическая переменная - для формул. - AnyLogic поддерживает несколько численных методов для решения дифференциальных, алгебраических и смешанных систем уравнений. Численный метод автоматически выбирается исполняющим модулем AnyLogic в соответствии с поведением моделируемой системы. При решении дифференциальных уравнений первого порядка вначале используется метод Рунге-Кутта с фиксированным шагом. В случае систем алгебраических и смешанных уравнений AnyLogic использует метод Ньютона, варьирующий шаг интеграции для достижения необходимой точности.
- AnyLogic поддерживает моделирование физических систем с помощью метода конечных элементов. Описание этого метода вы можете найти здесь: https://ru.wikipedia.org/wiki/Метод_конечных_элементов). В этом случае обычно используются массивы и размерности типа диапазон и вы можете ссылаться в уравнениях на следующий и предыдущий элемент. Демо-модель: Vibrating String Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
- Более того, AnyLogic является единственным инструментом, язык моделирования которого не задает исключительно непрерывное или дискретное поведения, а может задавать модели с гибридным поведением. Вы можете сделать вашу модель гибридной, добавив дискретные события, которые будут влиять на непрерывное поведение моделируемой системы, например, вы можете добавить событие, отслеживающее значение непрерывно изменяющихся переменных и выполняющее некоторые действия при достижении значением переменной какого-то определенного порога; или событие, которое изменяет параметр уравнения и тем самым влияет на моделируемую динамическую систему.
- Вы можете вынести переменные на интерфейс агента и связать их с интерфейсными переменными других агентов. Связанные переменные будут всегда иметь одинаковые значения, тем самым обеспечивая непрерывное взаимодействие агентов. Этот механизм позволяет вам создавать объекты, аналогичные блокам, обычно используемым в блочных диаграммах — стандартном графическом языке моделирования, используемом инженерами. Демо-модель: Population Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
-
Как мы можем улучшить эту статью?
-