Динамика взаимодействия частиц произвольной формы — различия между версиями
Test (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
− | + | [[Файл:Potseluev_22_12_2015_1.jpg|thumb|600px|right|пример конфигурации частиц, полученной с помощью разработанной программы]] | |
− | + | ||
+ | ===Курсовой проект по механике дискретных сред=== | ||
+ | |||
+ | * реализовал [[Поцелуев Павел]] | ||
+ | * руководитель [[Кузькин Виталий]] | ||
+ | |||
+ | ===Цель проекта=== | ||
+ | Разработка программы для расчета и визуализации взаимодействия частиц произвольной формы (в 2D). | ||
+ | |||
+ | ===Решение=== | ||
+ | Для проведения моделирования осуществляется численное интегрирование (методом leap-frog) уравнений движения при предварительно заданных начальных условиях. Для расчета сил взаимодействия между частицами использован сплайн-потенциал [https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB_%D0%9B%D0%B5%D0%BD%D0%BD%D0%B0%D1%80%D0%B4-%D0%94%D0%B6%D0%BE%D0%BD%D1%81%D0%B0 Леннарда-Джонса]. Для расчета взаимодействий между частицами произвольной формы и размеров использован метод "микрочастиц": частица сложной формы представляется в виде совокупности микрочастиц, распределенных по ее границе (в 2D случае - по контуру). Далее силы считаются для взаимодействующих микрочастиц. Такой подход позволяет эффективно моделировать абсолютно твердые тела произвольной формы методом динамики частиц. | ||
+ | |||
+ | ===Результаты и интерфейс программы=== | ||
+ | На языке [https://www.dartlang.org/ dart] реализована программа для моделирования взаимодействия частиц произвольной формы. | ||
+ | Исходный код - [https://bitbucket.org/Pasha123/discrete_mechanics/src/2dfab3473b0dc6df37bc3acae21965015d6d117f/web/?at=default здесь] | ||
+ | |||
+ | *Интерфейс программы позволяет задавать радиус микрочастицы, скорость анимации, вязкость, массовую силу (ускорение свободного падения), а также форму "сложных" частиц. | ||
+ | **Первый вариант - выбрать "Суперэллипс", задать значение степени n и соотношение полуосей. | ||
+ | **Второй вариант - в контексте для рисования можно создать частицу произвольной формы (нарисовать, зажав левую кнопку мыши). | ||
+ | *После этого можно выбрать положение центра масс частицы с помощью средней кнопки мыши (колеса). Если центр масс не задан - будет рассчитан по умолчанию. | ||
+ | *С помощью кнопки "Ok=>" можно запустить моделирование с выбранной геометрией частиц. | ||
+ | *Кнопка "Clear" позволяет очистить контекст для рисования. | ||
+ | *Нажатием левой кнопки мыши по контексту для моделирования можно добавлять новые "простые" частицы, а нажатием средней кнопки (колеса) мыши - "сложные" частицы. | ||
+ | *Используя стрелки клавиатуры "вверх"-"вниз", можно двигать верхнюю стенку, меняя объем пространства моделирования. Таким способом можно ввести в систему дополнительное давление и получить конфигурации близкие к плотным упаковкам частиц. См. [https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9B%D1%8E%D0%B1%D0%B0%D1%87%D0%B5%D0%B2%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%E2%80%94_%D0%A1%D1%82%D0%B8%D0%BB%D0%B8%D0%BD%D0%B6%D0%B5%D1%80%D0%B0 алгоритм Любачевского — Стилинжера] | ||
+ | |||
+ | |||
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Potseluev/discrete_mechanics/index.html |width=1150 |height=650 |border=0 }} | {{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Potseluev/discrete_mechanics/index.html |width=1150 |height=650 |border=0 }} |
Версия 02:46, 22 декабря 2015
Содержание
Курсовой проект по механике дискретных сред
- реализовал Поцелуев Павел
- руководитель Кузькин Виталий
Цель проекта
Разработка программы для расчета и визуализации взаимодействия частиц произвольной формы (в 2D).
Решение
Для проведения моделирования осуществляется численное интегрирование (методом leap-frog) уравнений движения при предварительно заданных начальных условиях. Для расчета сил взаимодействия между частицами использован сплайн-потенциал Леннарда-Джонса. Для расчета взаимодействий между частицами произвольной формы и размеров использован метод "микрочастиц": частица сложной формы представляется в виде совокупности микрочастиц, распределенных по ее границе (в 2D случае - по контуру). Далее силы считаются для взаимодействующих микрочастиц. Такой подход позволяет эффективно моделировать абсолютно твердые тела произвольной формы методом динамики частиц.
Результаты и интерфейс программы
На языке dart реализована программа для моделирования взаимодействия частиц произвольной формы. Исходный код - здесь
- Интерфейс программы позволяет задавать радиус микрочастицы, скорость анимации, вязкость, массовую силу (ускорение свободного падения), а также форму "сложных" частиц.
- Первый вариант - выбрать "Суперэллипс", задать значение степени n и соотношение полуосей.
- Второй вариант - в контексте для рисования можно создать частицу произвольной формы (нарисовать, зажав левую кнопку мыши).
- После этого можно выбрать положение центра масс частицы с помощью средней кнопки мыши (колеса). Если центр масс не задан - будет рассчитан по умолчанию.
- С помощью кнопки "Ok=>" можно запустить моделирование с выбранной геометрией частиц.
- Кнопка "Clear" позволяет очистить контекст для рисования.
- Нажатием левой кнопки мыши по контексту для моделирования можно добавлять новые "простые" частицы, а нажатием средней кнопки (колеса) мыши - "сложные" частицы.
- Используя стрелки клавиатуры "вверх"-"вниз", можно двигать верхнюю стенку, меняя объем пространства моделирования. Таким способом можно ввести в систему дополнительное давление и получить конфигурации близкие к плотным упаковкам частиц. См. алгоритм Любачевского — Стилинжера