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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Математическая модель)
(Постановка задачи)
 
(не показаны 33 промежуточные версии этого же участника)
Строка 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> - его модуль
# g - ускорение свободного падения,
+
::<math>N</math> - количество частиц.  
# N - количество частиц.  
+
::<math>\beta</math> - коэффициент вязкости
# betta - коэффициент вязкости
+
::<math>\bf{K_1}</math> - количество движения материальной точки
# gamma - коэффициент относительной скорости частиц
+
::<math>\bf{F}</math> - Сила, действующая на материальную точку
  
 
===Математическая модель ===
 
===Математическая модель ===
Строка 36: Строка 34:
 
Как было сказано ранее, рассматривается двумерная цепочка с двумя закрепленными концами. Запишем для нее уравнения динамики:
 
Как было сказано ранее, рассматривается двумерная цепочка с двумя закрепленными концами. Запишем для нее уравнения динамики:
  
1. Баланс количества движения
+
1. Баланс количества движения:
  
<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{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>
  
<math> \mathbf{K1} = \dot{(m\dot{\mathbf{R}})} </math>
+
2. Запишем равнодействующую сил, действующих на частицу:
  
<math> \mathbf{R} = R_xe_x + R_ye_y </math>
+
::<math> \sum{\mathbf{F}} = -k(\Delta{\mathbf{r}}_{n-1} + \Delta{\textbf{r}}_{n+1}) - mg\mathbf{e_{y}} - \beta\dot{\mathbf{R}}  </math>
  
<math> \mathbf{\dot{R}} = V_xe_x + V_ye_y </math>
+
3. Преобразуем полученные выражения и используем некоторые геометрические тождества:
  
<math> \mathbf{\ddot{R}} = A_xe_x + A_ye_y </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> \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>
  
2. Запишем равнодействующую сил, действующих на частицу
+
4. Подставим все полученные соотношения в баланс количества движения и определим проекции сил на координатные оси:
  
<math> \sum{\mathbf{F}} = -k(\Delta{\textbf{r}}_{n-1} + \Delta{\textbf{r}}_{n+1}) - mg\mathbf{e_{y}} - \beta\dot{\mathbf{R}} </math>
+
::<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> \Delta{\mathbf{r}}_{n-1} = (l_{left} - l0)\mathbf{e}_{n,n-1} </math>
+
Отсюда получим:
 
 
<math> \Delta{\mathbf{r}}_{n+1} = (l_{right} - l0)\mathbf{e}_{n,n+1} </math>
 
 
 
<math> e_{n,n-1} = (x_{n}-x_{n-1})/l_{left}e_{x}+ (y_{n}-y_{n-1})/l_{left}e_{y} </math>
 
 
 
<math> e_{n,n+1} = (x_{n}-x_{n+1})/l_{right}e_{x}+ (y_{n}-y_{n+1})/l_{right}e_{y} </math>
 
  
3. Подставим все полученные соотношения в баланс количества движения и определим проекции сил на координатные оси
+
::<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>
  
<math> m*(A_xe_x + A_ye_y) = -k((l_{left} - l0)(x_{n}-x_{n-1})/l_{left}e_{x}+ (y_{n}-y_{n-1})/l_{left}e_{y} + (l_{right} - l0)(x_{n}-x_{n+1})/l_{right}e_{x}+ (y_{n}-y_{n+1})/l_{right}e_{y}) - mg\mathbf{e_{y}} - \beta\dot{\mathbf{R}} </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>
  
<math> mA_x = -k(l_{left}-l0)(x_{n-1}-x_{n})/l_{left} + (l_{right}-l0)(x_{n+1}-x_{n})/l_{left}) - \beta{V_x} </math>
+
где i зменяется в промежутке от 0 до желаемого количества итераций моделирования (<math>maxiter</math>). Тогда время моделирования будет определяться как <math>t_{max} = dt*maxiter</math>.
  
<math> mA_y = -k(l_{left}-l0)(y_{n-1}-y_{n})/l_{left} + (l_{right}-l0)(y_{n+1}-y_{n})/l_{left}) - \beta{V_x} - mg </math>
+
::<math> V|_{t=0} = 0; V|_{x=0} = 0; V|_{x=N} = 0 </math>
  
Решать полученные уравнения движения будем при помощи симплектического (сохраняющего энергию) метода Верле
+
Таким образом сможем получить равновесное состояние цепочки при любом ее начальном положении. Для конкретики, в качестве начального расположения частиц будем брать параболу. После того, как достигнется состояние равновесия, граничное условие на правом конце убирается и дальше исследуется задача, озвученная выше.
 
 
<math> </math>
 
 
 
<math> </math>
 
  
 +
===Демонстрация работы программы===
 +
<div align = "center">{{#widget:Iframe |url =  http://tm.spbstu.ru/htmlets/Vasiliev/VidChain.mp4|width=800|height=800}}</div>
 
===Выводы===
 
===Выводы===
 
Смоделировано падение двумерной цепочки, подвешенной за два конца при отпускании одного из них. Показано, что отпущенный конец движется с ускорением, превышающим ускорение свободного падения, а также, при достижении этим элементом цепочки крайней точки его траектории, можно наблюдать эффект хлыста.  
 
Смоделировано падение двумерной цепочки, подвешенной за два конца при отпускании одного из них. Показано, что отпущенный конец движется с ускорением, превышающим ускорение свободного падения, а также, при достижении этим элементом цепочки крайней точки его траектории, можно наблюдать эффект хлыста.  
 
В рамках решения данной задачи было написано приложение с использованием программы App Designer, входящего в пакет Matlab, ссылка на которое будет расположена ниже.
 
В рамках решения данной задачи было написано приложение с использованием программы App Designer, входящего в пакет Matlab, ссылка на которое будет расположена ниже.
  
В ходе выполнения работы было установлено, что отпущенный конец цепи опережает свободно падающее тело не в силу каких-либо эффектов, связанных с процессами, происходящими в месте изгиба цепочки, а за счет ускорения, приобретенного им в начале падения в силу начального преднатяжения цепочки. Это ускорение приближенно равно N*g/2, где N - число частиц в цепочке, g - ускорение свободного падения. Это подтверждается тем, что график зависимости вертикального расстояния от крайней правой частицы цепочки до свободно падающего тела, брошенного одновременно с отпусканием правого края цепочки, ведет себя линейно (до момента достижения правым концом цепочки нижней точки падения, где проявляется эффект "хлыста" - о нем будет сказано ниже).  
+
В ходе выполнения работы было установлено, что отпущенный конец цепи опережает свободно падающее тело не в силу каких-либо эффектов, связанных с процессами, происходящими в месте изгиба цепочки, а за счет ускорения, приобретенного им в начале падения в силу начального преднатяжения цепочки. Это ускорение приближенно равно N*g/2. Это подтверждается тем, что график зависимости вертикального расстояния от крайней правой частицы цепочки до свободно падающего тела, брошенного одновременно с отпусканием правого края цепочки, ведет себя линейно (до момента достижения правым концом цепочки нижней точки падения, где проявляется эффект "хлыста" - о нем будет сказано ниже).  
Также это подтверждается характером графика зависимости a/g от времени, где a - ускорение падения правого края цепочки, а g - ускорение свободного падения. На нем видно, что в начальный момент времени (после отпускания правого край цепи), ускорение, как уже было сказано выше, приблизительно равно N*g/2, после чего они линейно и очень быстро (относительно остальных времен в системе) достигает значения 1, то есть ускорение правого края цепи равно ускорению свободного падения до момента появления "хлыстовых" эффектов.
+
Также это подтверждается характером графика зависимости a/g от времени. На нем видно, что в начальный момент времени (после отпускания правого край цепи), ускорение, как уже было сказано выше, приблизительно равно N*g/2, после чего они линейно и очень быстро (относительно остальных времен в системе) достигает значения 1, то есть ускорение правого края цепи равно ускорению свободного падения до момента появления "хлыстовых" эффектов.
 
 
Как было сказано выше, в процессе выполнения работы также удалось смоделировать эффект "хлыста" - резкое, скачкообразное увеличение ускорения цепочки при достижении ею нижней точки падения. Для разных параметров цепочки(массы, жесткости пружин, количества частиц, равноовесного расстояния между частицами) можно добиться ускорения в нижней точке в более, чем 50*g, где g - ускорение свободного падения.
 
  
 +
Как было сказано выше, в процессе выполнения работы также удалось смоделировать эффект "хлыста" - резкое, скачкообразное увеличение ускорения цепочки при достижении ею нижней точки падения. Для разных параметров цепочки(массы, жесткости пружин, количества частиц, равноовесного расстояния между частицами) можно добиться ускорения в нижней точке в более, чем 50*g.
  
 
===Полезные ссылки===
 
===Полезные ссылки===

Текущая версия на 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 - исходный код программы, написанной в ходе выполнения проекта