Модель
Механическая часть модели - упрощенная модель (двумерного) броуновского движения. Внутри прямоугольника движутся без трения шарики. Взаимодействие происходтит только при столкновении шариков друг с другом и/или с границей прямоугольника. Взаимодействие описывается как упругое столкновение. Начальное положение, скорость и направление движения каждого шарика – случайные величины (с определёнными пределами). “Механические” параметры модели:
диаметр каждого шарика равен 1 (постоянная величина),
размер прямоугольной области (где шарики движутся) – в диаметрах шарика,
минимальная и максимальная скорости шариков,
количество шариков,
моделируемое время (движения шариков).
Видео-демонстрация vmPandeSim
Кроме этого, каждый шарик имеет своё состояние: либо “здоров”, либо “болен”, либо “переболел/выздоровел/вакцинирован”, либо “мертв”. Соответствующие параметры модели:
вероятность “здорового” шарика стать “больным” (при столкновении с “больным” шариком),
вероятность “переболевшего/вакцинированного” шарика стать “больным” (при столкновении с “больным” шариком),
вероятность “больного” шарика “выздороветь”, то есть стать “вакцинированным” в течение всего моделируемого времени,
вероятность “больного” шарика “умереть” в течение всего моделируемого времени.
Изменение состояния шариков происходит случайным образом в соответствии с заданными вероятностями (метод Монте Карло).
Результаты
- основные данные - текстовый файл с зависимостями числа здоровых, больных, и т.д. от моделируемого времени. Формат:
L <название-данных>
C
<время> <число-данных>
<время> <число-данных>
...
- дополнительные данные - текстовые файлы с траекториями шариков (рекомендуется только для отладки)
Три режима показа данных в процессе моделирования
(влияет на время работы программы)
1. Show progress only - основной, самый быстрый - режим
2. Show statistics - в дополнение к "progress only" рисует основные результаты (кривые чисел здоровых, больных, и т.д.) в процессе моделирования; медленнее режима progress only
3. Show movement - показывает моделируемые шарики в движении (в процессе моделирования); медленнее режима statistics; используется для (видео- тестирования, развлечения и т.п. 😉)
подробности см. на странице: Эпидемия