Динамика взаимодействия частиц произвольной формы
Содержание
Курсовой проект по механике дискретных сред
- разработчик Поцелуев Павел
- руководитель Кузькин Виталий
Цель проекта
Разработка программы для расчета и визуализации взаимодействия частиц произвольной формы (в 2D).
Решение
Для проведения моделирования осуществляется численное интегрирование (методом leap-frog) уравнений движения при предварительно заданных начальных условиях. Для расчета сил взаимодействия между частицами использован сплайн-потенциал Леннарда-Джонса. Для расчета взаимодействий между частицами произвольной формы и размеров использован метод "микрочастиц": частица сложной формы представляется в виде совокупности микрочастиц, распределенных по ее границе (в 2D случае - по контуру). Далее силы считаются для взаимодействующих микрочастиц. Такой подход позволяет эффективно моделировать абсолютно твердые тела произвольной формы методом динамики частиц.
Результаты и интерфейс программы
На языке dart реализована программа для моделирования взаимодействия частиц произвольной формы.
Репозиторий - здесь
- Интерфейс программы позволяет задавать радиус микрочастицы, скорость анимации, вязкость, массовую силу (ускорение свободного падения), а также форму "сложных" частиц.
- Первый вариант - выбрать "Суперэллипс", задать значение степени n и соотношение полуосей.
- Второй вариант - в контексте для рисования можно создать частицу произвольной формы (нарисовать, зажав левую кнопку мыши).
- После этого можно выбрать положение центра масс частицы с помощью средней кнопки мыши (колеса). Если центр масс не задан - будет рассчитан по умолчанию.
- С помощью кнопки "Ok=>" можно запустить моделирование с выбранной геометрией частиц.
- Кнопка "Clear" позволяет очистить контекст для рисования.
- Нажатием левой кнопки мыши по контексту для моделирования можно добавлять новые "простые" частицы, а нажатием средней кнопки (колеса) мыши - "сложные" частицы.
- Используя стрелки клавиатуры "вверх"-"вниз", можно двигать верхнюю стенку, меняя объем пространства моделирования. Таким способом можно ввести в систему дополнительное давление и получить конфигурации близкие к плотным упаковкам частиц. См. алгоритм Любачевского — Стилинжера