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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Новая страница: «Я бы немного изменил обозначения. Пусть <math> {\bf r}_i, {\bf r}_j</math> - радиус-векторы частиц в непо...»)
 
 
Строка 13: Строка 13:
 
           \right.   
 
           \right.   
 
</math>
 
</math>
 +
 
где <math> {\bf r}_{ij} = {\bf r}_j - {\bf r}_i. </math>
 
где <math> {\bf r}_{ij} = {\bf r}_j - {\bf r}_i. </math>
 
Тогда частицы находятся в контакте, если для одного из углов частицы j выполняется условие
 
Тогда частицы находятся в контакте, если для одного из углов частицы j выполняется условие
  
 
<math>
 
<math>
     (y> |x|~OR~y < -|x|)~AND~|y| < a/2  \qquad  OR  \qquad (x> |y|~OR~x < -|y|)~AND~|x| < a/2.
+
  \begin{array}{l} 
 +
     (y> |x|~{\rm OR}~y < -|x|) \quad {\rm AND} \quad |y| < a/2  \\
 +
{\rm OR} \\
 +
  (x> |y|~{\rm OR}~x < -|y|) \quad {\rm AND} \quad |x| < a/2.
 +
    \end{array}
 
</math>
 
</math>
  

Текущая версия на 10:45, 24 июля 2011

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

Пусть [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] \begin{array}{l} (y\gt |x|~{\rm OR}~y \lt -|x|) \quad {\rm AND} \quad |y| \lt a/2 \\ {\rm OR} \\ (x\gt |y|~{\rm OR}~x \lt -|y|) \quad {\rm AND} \quad |x| \lt a/2. \end{array} [/math]

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

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