Математическое моделирование
Не ломай железяки - отработай на программных стендах!
Говорим о том, что такое математическое моделирование, проводим классификацию моделей и упоминаем такую важную вещь как "универсальность моделей" на примере механики и биологии
Говорим о примерах из механики, хим.кинетики и динамики популяций: двойной интегратор и его модификации, модель Лотки-Вольтерра и ее модификации, пытаемся делать обобщения.
Приводим примеры автокаталитических реакций: Белоусова-Жаботинского, брюсселатор, орегонатор... И создаем на QT/C++ триаду Самарского для брюсселятора - без смс и регистрации!
Делимся на команды и пытаемся модернизировать имеющийся набросок ПО моделирования, а именно: дать возможность для ЛЮБОЙ модели на основе ОДУ запустить ЛЮБОЙ из реализованных методов решения систем ОДУ, а в качестве теста использовать метод Эйлера на брюсселяторе.
По следам первой лабораторной работы рассматриваем варианты численных методов решения систем ОДУ для реализации - 8 явных и 3 неявных!
Продолжаем модификацию программ - на этот раз строим фазовые портреты (на примере брюсселятора и двойного интегратора, мы пока для простоты работаем в фазовой плоскости)
Готовимся к Хэллоуину и строим фазовый портрет в математической модели зомби-апокалипсиса! Используются нелинейные системы размерности 2 и 3 как минимум, параметры модели из приложенной статьи, методы построения фазового портрета на плоскости и учет "физических" ограничений (у нас фактически модель динамики популяций, поэтому переменные не должны принимать отрицательные значения). Срок - 12:00 Мск 27.10.2023
Продолжаем работать с фазовым портретом и пытаемся закрыть оставшиеся вопросы по запуску любого из реализованных методов для любой реализованной модели. Результаты складываем в папку по ссылке
Добиваем наследование моделей и методов, пытаемся объединить модель химической кинетики и модель движения материальной точки для... да, правильно, для получения модели движения материальной точки, оснащенной химическим двиагателем.
Проводим качественный анализ математической модели - и выписываем правильные формулы для движения нашего гипотетического объекта с двигателем в гравитационном поле двух тел!
Продолжаем ликбез по Qt на примере создания элементов GUI + проясняем вопросы по интегрированию систем "брюсселятор", "орегонатор" и т.д.
Проводим мастер-класс по добавлению в приложение на Qt самописных виджетов с параметрами моделей и изменению "вида" с виджетами в зависимости от выбранного элемента QComboBox. На самом деле еще обнаруживаем, что в Qt можно создать диаграмму Model, а значит, он еще лучше подходит для матмода, чем мы думали.
Говорим о различных способах проверки "адекватности" наших матмоделей. Наш основной объект испытаний - модель космического аппарата, которую нам нужно насыщать реальными данными. Сегодня говорим о задаче двух тел, доходим до кеплеровых элементов, рассказываем о наборах элементов двустрочных и пытаемся разобраться, как с их помощью проверять адекватность различных моделей возмущающих факторов космического полёта.
Работаем с потоками в Qt и говорим о том, как построить фазовый портрет, не "подвешивая" программу. Предлагается использовать для двух вариантов построения фазового портрета: 1) В потоке рассчитываем очередную траекторию портрета и передаем для отрисовки; 2) В потоке для каждой траектории по мере расчета точек передаем очередную точку для пополнения фазового портрета.
Отвечаем на накопившиеся вопросы, разбираем лабораторные работы и то, как из них в итоге собрать наш вычислительный эксперимент