Моделирование поведения цепочки — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Код программы)
(Код программы)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 33: Строка 33:
 
<math>
 
<math>
 
   m\underline{\ddot{r}}_i(t)= c(||\underline{r}_{i+1}-\underline{r}_i|| -l_0)\frac{(\underline{r}_{i+1}-\underline{r}_i)}{||\underline{r}_{i+1}-\underline{r}_i||} + c(||\underline{r}_{i-1}-\underline{r}_i|| - l_0)\frac{(\underline{r}_{i-1}-\underline{r}_i)}{||\underline{r}_{i-1}-\underline{r}_i||} - mg\underline{k}\\
 
   m\underline{\ddot{r}}_i(t)= c(||\underline{r}_{i+1}-\underline{r}_i|| -l_0)\frac{(\underline{r}_{i+1}-\underline{r}_i)}{||\underline{r}_{i+1}-\underline{r}_i||} + c(||\underline{r}_{i-1}-\underline{r}_i|| - l_0)\frac{(\underline{r}_{i-1}-\underline{r}_i)}{||\underline{r}_{i-1}-\underline{r}_i||} - mg\underline{k}\\
 
 
 
</math>
 
</math>
  
Строка 42: Строка 41:
 
X_{i+1} = X_i+V_{i+1}\Delta{t},
 
X_{i+1} = X_i+V_{i+1}\Delta{t},
 
\end{cases} </math>
 
\end{cases} </math>
 
  
 
===Выводы===
 
===Выводы===
Строка 49: Строка 47:
  
 
===Код программы===
 
===Код программы===
Код программы написан на языке JavaScript и располагается по следующей ссылке:
+
https://editor.p5js.org/Kssdvchenko/sketches/R-agsD747

Текущая версия на 10:52, 25 января 2023

Курсовой проект по Механике дискретных сред

Исполнитель: Садовченко Екатерина

Группа: 5030103/90101

Семестр: осень 2022


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

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

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

Изначально запишем закон движения: [math] m\underline{\ddot{r}}_i(t)=\underline{F}_{i-1}+\underline{F}_{i+1} + \underline{F}_{g}\\ \underline{r}_i(0)=\underline{r}_i^0,~\underline{v}_i(0)=0~~~i=1,\ldots,n [/math]

где [math] \underline{F}_{i-1}, \underline{F}_{i+1}\\ [/math] - силы упругости действующие на [math]i[/math]-ую частицу со стороны [math]i-1[/math] и [math]i+1[/math] соответственно, а [math] \underline{F}_{g}=-mg\underline{k} \\ [/math] - сила тяжести.

Далее распишем силу упругости как произведение модуля на соответсвующий орт: [math] \underline{F}_{i+1}= c(|\underline{r}_{i+1}-\underline{r}_{i}| - l_0)\frac{(\underline{r}_{i+1}-\underline{r}_{i})}{|\underline{r}_{i+1}-\underline{r}_{i}|} [/math], где [math]c[/math] - коэффициент жесткости пружины. Аналогично записывается сила [math]\underline{F}_{i-1}[/math].

Далее подставляя все силы в уравнение движения, получим:

[math] m\underline{\ddot{r}}_i(t)= c(||\underline{r}_{i+1}-\underline{r}_i|| -l_0)\frac{(\underline{r}_{i+1}-\underline{r}_i)}{||\underline{r}_{i+1}-\underline{r}_i||} + c(||\underline{r}_{i-1}-\underline{r}_i|| - l_0)\frac{(\underline{r}_{i-1}-\underline{r}_i)}{||\underline{r}_{i-1}-\underline{r}_i||} - mg\underline{k}\\ [/math]

Дальнейшее интегрирование уравнения производится с помощью явного симплектического метода Верле 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]

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

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

Код программы[править]

https://editor.p5js.org/Kssdvchenko/sketches/R-agsD747