Васильев Максим Диплом — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Демонстрация работы программы)
(Постановка задачи)
 
(не показано 15 промежуточных версий этого же участника)
Строка 4: Строка 4:
  
 
1. Численно и аналитически решена задача с точечным единичным перемещением в центре бесконечной одномерной цепочки
 
1. Численно и аналитически решена задача с точечным единичным перемещением в центре бесконечной одномерной цепочки
 
<div align = "center">{{#widget:Iframe |url = http://tm.spbstu.ru/htmlets/js2020/Borisenkov/u1D.gif}}</div>
 
  
 
2. Численно и аналитически решена задача с силой, приложенной в центре бесконечной цепочки
 
2. Численно и аналитически решена задача с силой, приложенной в центре бесконечной цепочки
Строка 19: Строка 17:
 
Таким образом получены соотношения позволяющие решить задачу с любыми начальными условиями и любыми силами, приложенными к любым частицам в одномерной и двумерной цепочках.
 
Таким образом получены соотношения позволяющие решить задачу с любыми начальными условиями и любыми силами, приложенными к любым частицам в одномерной и двумерной цепочках.
  
== В рамках предмета "Дискретная механика" решена следующая задача ==
+
== Моделирование падения двумерной цепочки ==
  
 
===Постановка задачи===
 
===Постановка задачи===
Смоделировать падение дмумерной цепочки в поле силы тяжести при отпускании одного из концов. Цепочка представляет собой соединенные между собой точечные массы.
+
Смоделировать падение двумерной цепочки в поле силы тяжести при отпускании одного из концов. Цепочка представляет собой соединенные между собой точечные массы.
 
+
::<math>m</math> - масса частиц,  
::m - масса частиц,  
+
::<math>k</math> - жесткость пружин ,  
::k - жесткость пружин ,  
+
::<math>l0</math> - равновесное расстояние,  
::l0 - равновесное расстояние,  
 
 
::<math>\mathbf{g}</math> - ускорение свободного падения (вектор). <math>g</math> - его модуль
 
::<math>\mathbf{g}</math> - ускорение свободного падения (вектор). <math>g</math> - его модуль
::N - количество частиц.  
+
::<math>N</math> - количество частиц.  
 
::<math>\beta</math> - коэффициент вязкости
 
::<math>\beta</math> - коэффициент вязкости
 
::<math>\bf{K_1}</math> - количество движения материальной точки
 
::<math>\bf{K_1}</math> - количество движения материальной точки
Строка 40: Строка 37:
  
 
::<math>\mathbf{\dot{K_1}} = \sum\mathbf{F}</math>
 
::<math>\mathbf{\dot{K_1}} = \sum\mathbf{F}</math>
 
 
::<math> \mathbf{\dot{K_1}} = (m\dot{\mathbf{R}}\dot{)} </math>
 
::<math> \mathbf{\dot{K_1}} = (m\dot{\mathbf{R}}\dot{)} </math>
 
 
::<math> \mathbf{R} = R_x\mathbf{e_x} + R_y\mathbf{e_y} </math>
 
::<math> \mathbf{R} = R_x\mathbf{e_x} + R_y\mathbf{e_y} </math>
 
 
::<math> \mathbf{\dot{R}} = V_x\mathbf{e_x} + V_y\mathbf{e_y} </math>
 
::<math> \mathbf{\dot{R}} = V_x\mathbf{e_x} + V_y\mathbf{e_y} </math>
 
 
::<math> \mathbf{\ddot{R}} = A_x\mathbf{e_x} + A_y\mathbf{e_y} </math>
 
::<math> \mathbf{\ddot{R}} = A_x\mathbf{e_x} + A_y\mathbf{e_y} </math>
  
Строка 56: Строка 49:
  
 
::<math> l_{left} = \sqrt{(x_{n}-x_{n-1})^2 + (y_{n}-y_{n-1})^2)} </math>
 
::<math> l_{left} = \sqrt{(x_{n}-x_{n-1})^2 + (y_{n}-y_{n-1})^2)} </math>
 
 
::<math> l_{right} = \sqrt{(x_{n}-x_{n+1})^2 + (y_{n}-y_{n+1})^2)} </math>
 
::<math> l_{right} = \sqrt{(x_{n}-x_{n+1})^2 + (y_{n}-y_{n+1})^2)} </math>
 
 
::<math> \Delta{\mathbf{r}}_{n-1} = (l_{left} - l0)\mathbf{e}_{n-1,n} </math>
 
::<math> \Delta{\mathbf{r}}_{n-1} = (l_{left} - l0)\mathbf{e}_{n-1,n} </math>
 
 
::<math> \Delta{\mathbf{r}}_{n+1} = (l_{right} - l0)\mathbf{e}_{n+1,n} </math>
 
::<math> \Delta{\mathbf{r}}_{n+1} = (l_{right} - l0)\mathbf{e}_{n+1,n} </math>
 
 
::<math> \mathbf{e}_{n-1,n} = \frac{(x_{n}-x_{n-1})}{l_{left}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n-1})}{l_{left}}\mathbf{e_{y}} </math>
 
::<math> \mathbf{e}_{n-1,n} = \frac{(x_{n}-x_{n-1})}{l_{left}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n-1})}{l_{left}}\mathbf{e_{y}} </math>
 
 
::<math> \mathbf{e}_{n+1,n} = \frac{(x_{n}-x_{n+1})}{l_{right}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n+1})}{l_{right}}\mathbf{e_{y}} </math>
 
::<math> \mathbf{e}_{n+1,n} = \frac{(x_{n}-x_{n+1})}{l_{right}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n+1})}{l_{right}}\mathbf{e_{y}} </math>
  
Строка 92: Строка 80:
  
 
===Демонстрация работы программы===
 
===Демонстрация работы программы===
 
+
<div align = "center">{{#widget:Iframe |url =  http://tm.spbstu.ru/htmlets/Vasiliev/VidChain.mp4|width=800|height=800}}</div>
<div align = "center">{{#widget:Iframe |url =  http://tm.spbstu.ru/htmlets/Vasiliev/optVid2.mp4|width=800|height=800}}</div>
 
 
 
 
===Выводы===
 
===Выводы===
 
Смоделировано падение двумерной цепочки, подвешенной за два конца при отпускании одного из них. Показано, что отпущенный конец движется с ускорением, превышающим ускорение свободного падения, а также, при достижении этим элементом цепочки крайней точки его траектории, можно наблюдать эффект хлыста.  
 
Смоделировано падение двумерной цепочки, подвешенной за два конца при отпускании одного из них. Показано, что отпущенный конец движется с ускорением, превышающим ускорение свободного падения, а также, при достижении этим элементом цепочки крайней точки его траектории, можно наблюдать эффект хлыста.  

Текущая версия на 21:53, 23 декабря 2022

Исследование некоторых вопросов о колебаниях в кристаллических решетках[править]

На данный момент сделано[править]

1. Численно и аналитически решена задача с точечным единичным перемещением в центре бесконечной одномерной цепочки

2. Численно и аналитически решена задача с силой, приложенной в центре бесконечной цепочки

3. Численно и аналитически решена задача с силой, приложенной в центре двумерной бесконечной квадратной решетки

4. Численно и аналитически решена задача с парой сил, приложенных в различных направлениях к частицам, отстоящим друг от друга на определенное расстояние (1D цепочка)

5. Численно и аналитически решена задача с парой сил, приложенных в различных направлениях к частицам, отстоящим друг от друга на определенное расстояние (2D цепочка)

6. Численно и аналитически решена задача с силой, приложенной в центре бесконечной цепочки и одним закрепленным элементом

Таким образом получены соотношения позволяющие решить задачу с любыми начальными условиями и любыми силами, приложенными к любым частицам в одномерной и двумерной цепочках.

Моделирование падения двумерной цепочки[править]

Постановка задачи[править]

Смоделировать падение двумерной цепочки в поле силы тяжести при отпускании одного из концов. Цепочка представляет собой соединенные между собой точечные массы.

[math]m[/math] - масса частиц,
[math]k[/math] - жесткость пружин ,
[math]l0[/math] - равновесное расстояние,
[math]\mathbf{g}[/math] - ускорение свободного падения (вектор). [math]g[/math] - его модуль
[math]N[/math] - количество частиц.
[math]\beta[/math] - коэффициент вязкости
[math]\bf{K_1}[/math] - количество движения материальной точки
[math]\bf{F}[/math] - Сила, действующая на материальную точку

Математическая модель[править]

Как было сказано ранее, рассматривается двумерная цепочка с двумя закрепленными концами. Запишем для нее уравнения динамики:

1. Баланс количества движения:

[math]\mathbf{\dot{K_1}} = \sum\mathbf{F}[/math]
[math] \mathbf{\dot{K_1}} = (m\dot{\mathbf{R}}\dot{)} [/math]
[math] \mathbf{R} = R_x\mathbf{e_x} + R_y\mathbf{e_y} [/math]
[math] \mathbf{\dot{R}} = V_x\mathbf{e_x} + V_y\mathbf{e_y} [/math]
[math] \mathbf{\ddot{R}} = A_x\mathbf{e_x} + A_y\mathbf{e_y} [/math]

2. Запишем равнодействующую сил, действующих на частицу:

[math] \sum{\mathbf{F}} = -k(\Delta{\mathbf{r}}_{n-1} + \Delta{\textbf{r}}_{n+1}) - mg\mathbf{e_{y}} - \beta\dot{\mathbf{R}} [/math]

3. Преобразуем полученные выражения и используем некоторые геометрические тождества:

[math] l_{left} = \sqrt{(x_{n}-x_{n-1})^2 + (y_{n}-y_{n-1})^2)} [/math]
[math] l_{right} = \sqrt{(x_{n}-x_{n+1})^2 + (y_{n}-y_{n+1})^2)} [/math]
[math] \Delta{\mathbf{r}}_{n-1} = (l_{left} - l0)\mathbf{e}_{n-1,n} [/math]
[math] \Delta{\mathbf{r}}_{n+1} = (l_{right} - l0)\mathbf{e}_{n+1,n} [/math]
[math] \mathbf{e}_{n-1,n} = \frac{(x_{n}-x_{n-1})}{l_{left}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n-1})}{l_{left}}\mathbf{e_{y}} [/math]
[math] \mathbf{e}_{n+1,n} = \frac{(x_{n}-x_{n+1})}{l_{right}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n+1})}{l_{right}}\mathbf{e_{y}} [/math]

4. Подставим все полученные соотношения в баланс количества движения и определим проекции сил на координатные оси:

[math] m*(A_xe_x + A_ye_y) = -k*(\frac{(l_{left} - l0)(x_{n}-x_{n-1})}{l_{left}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n-1})(l_{left} - l0)}{l_{left}}\mathbf{e_{y}} + \frac{(l_{right} - l0)(x_{n}-x_{n+1})}{l_{right}}\mathbf{e_{x}}+ \frac{(y_{n}-y_{n+1})(l_{right} - l0)}{l_{right}}\mathbf{e_{y}}) - mg\mathbf{e_{y}} - \beta\dot{\mathbf{R}} [/math]

Отсюда получим:

[math]\begin{cases} F_x = mA_x = k(\frac{(l_{left}-l0)(x_{n-1}-x_{n})}{l_{left}} + \frac{(l_{right}-l0)(x_{n+1}-x_{n})}{l_{right}}) - \beta{V_x}\\ F_y = mA_y = k(\frac{(l_{left}-l0)(y_{n-1}-y_{n})}{l_{left}} + \frac{(l_{right}-l0)(y_{n+1}-y_{n})}{l_{right}}) - \beta{V_y} - mg \end{cases} [/math]

5. Решать полученные уравнения движения будем при помощи симплектического (сохраняющего энергию) метода Верле c нулевыми начальными условиями и условиями закрепления на концах:

[math] \begin{cases} V_{i+1} = V_i+A_i\Delta{t}\\ X_{i+1} = X_i+V_{i+1}\Delta{t}, \end{cases} [/math]

где i зменяется в промежутке от 0 до желаемого количества итераций моделирования ([math]maxiter[/math]). Тогда время моделирования будет определяться как [math]t_{max} = dt*maxiter[/math].

[math] V|_{t=0} = 0; V|_{x=0} = 0; V|_{x=N} = 0 [/math]

Таким образом сможем получить равновесное состояние цепочки при любом ее начальном положении. Для конкретики, в качестве начального расположения частиц будем брать параболу. После того, как достигнется состояние равновесия, граничное условие на правом конце убирается и дальше исследуется задача, озвученная выше.

Демонстрация работы программы[править]

Выводы[править]

Смоделировано падение двумерной цепочки, подвешенной за два конца при отпускании одного из них. Показано, что отпущенный конец движется с ускорением, превышающим ускорение свободного падения, а также, при достижении этим элементом цепочки крайней точки его траектории, можно наблюдать эффект хлыста. В рамках решения данной задачи было написано приложение с использованием программы App Designer, входящего в пакет Matlab, ссылка на которое будет расположена ниже.

В ходе выполнения работы было установлено, что отпущенный конец цепи опережает свободно падающее тело не в силу каких-либо эффектов, связанных с процессами, происходящими в месте изгиба цепочки, а за счет ускорения, приобретенного им в начале падения в силу начального преднатяжения цепочки. Это ускорение приближенно равно N*g/2. Это подтверждается тем, что график зависимости вертикального расстояния от крайней правой частицы цепочки до свободно падающего тела, брошенного одновременно с отпусканием правого края цепочки, ведет себя линейно (до момента достижения правым концом цепочки нижней точки падения, где проявляется эффект "хлыста" - о нем будет сказано ниже). Также это подтверждается характером графика зависимости a/g от времени. На нем видно, что в начальный момент времени (после отпускания правого край цепи), ускорение, как уже было сказано выше, приблизительно равно N*g/2, после чего они линейно и очень быстро (относительно остальных времен в системе) достигает значения 1, то есть ускорение правого края цепи равно ускорению свободного падения до момента появления "хлыстовых" эффектов.

Как было сказано выше, в процессе выполнения работы также удалось смоделировать эффект "хлыста" - резкое, скачкообразное увеличение ускорения цепочки при достижении ею нижней точки падения. Для разных параметров цепочки(массы, жесткости пружин, количества частиц, равноовесного расстояния между частицами) можно добиться ускорения в нижней точке в более, чем 50*g.

Полезные ссылки[править]

  1. http://tm.spbstu.ru/Курсовые_работы_по_ВМДС:_2022-2023 - курсовые работы студентов 4-го курса 2022-2023 года по курсу дискретной механики
  2. http://tm.spbstu.ru/Введение_в_механику_дискретных_сред - курс механики дискретных сред
  3. https://github.com/sideov/FallingChain - исходный код программы, написанной в ходе выполнения проекта