Обсуждение:Соколов Алексей. "Динамика несферических частиц"

Материал из Department of Theoretical and Applied Mechanics
Версия от 10:42, 24 июля 2011; Kuzkin (обсуждение | вклад) (Новая страница: «Я бы немного изменил обозначения. Пусть <math> {\bf r}_i, {\bf r}_j</math> - радиус-векторы частиц в непо...»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Я бы немного изменил обозначения.

Пусть [math] {\bf r}_i, {\bf r}_j[/math] - радиус-векторы частиц в неподвижной системе отсчета. Пусть с каждой частицей связано по два ортогональных вектора [math] {\bf m}_i, {\bf n}_i, {\bf m}_j, {\bf n}_j[/math] (извини, е мне не очень нравится, хотя это дело вкуса :)). Будем считать, что частицы могут контактировать только углами, т.е. в случае если угол одной частицы находится внутри другой. Для детектирования контактов будем использовать следующий алгоритм. Запишем координаты углов частицы [math] j [/math] в системе координат (x,y), связанной с частицей i. При этом оси x и y направим таким образом, чтобы векторы [math] {\bf n}_i, {\bf m}_i[/math] совпадали с ортами данных осей. Тогда координаты углов частицы [math] j [/math] определяются соотношениями:

[math]\left\{ \begin{array}{rcl} x = ({\bf r}_{ij} \pm {\bf n}_j \pm {\bf m}_j) \cdot {\bf n}_i \\ &\\ y = ({\bf r}_{ij} \pm {\bf n}_j \pm {\bf m}_j) \cdot {\bf m}_i \\ \end{array} \right. [/math] где [math] {\bf r}_{ij} = {\bf r}_j - {\bf r}_i. [/math] Тогда частицы находятся в контакте, если для одного из углов частицы j выполняется условие

[math] (y\gt |x|~OR~y \lt -|x|)~AND~|y| \lt a/2 \qquad OR \qquad (x\gt |y|~OR~x \lt -|y|)~AND~|x| \lt a/2. [/math]

Таким образом, для на каждом шаге интегрирования для каждой частицы [math] i [/math] проверяется, находится ли она в контакте с соседними частицами. При этом, в принципе, должны перебираются все частицы [math] j \neq i [/math]. Однако перебор можно существенно ускорить, если ввести радиус обрезания.... Продолжение в том же духе за тобой :)

Kuzkin 11:42, 24 июля 2011 (MSD)