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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(top)
(Результаты моделирования)
 
(не показано 13 промежуточных версий этого же участника)
Строка 4: Строка 4:
  
 
'''Группа:'''  5030103/80101
 
'''Группа:'''  5030103/80101
 
  
 
'''Семестр:''' осень 2021
 
'''Семестр:''' осень 2021
Строка 13: Строка 12:
  
 
==Математическая модель==
 
==Математическая модель==
 +
Уравнение движения для каждой из материальных точек записывается следующим образом:
 +
 +
<math>
 +
  m\underline{\ddot{x}}_i(t)=\underline{F}_{R_1}+\underline{F}_{R_2}+\underline{P}+\underline{F}_{Wall}\\
 +
  \underline{x}_i(0)=\underline{x}_i^0,~\underline{v}_i(0)=v_i^0~~~i=1,\ldots,n
 +
</math>
 +
 +
 +
где
 +
<math>
 +
  \underline{F}_{R_1}, \underline{F}_{R_2}\\
 +
</math> - силы упругости действующие на <math>i</math>-ую частицу со стороны <math>i-1</math> и <math>i+1</math> соответственно;
 +
 +
<math>
 +
  \underline{P}
 +
</math> - давление создаваемое газом;
  
Давление рассчитывается по следующей формуле:
+
<math>
 +
\underline{F}_{Wall}\\
 +
</math> - сила взаимодействия между воздушным шаром и стеной;
  
<math>P = k(\frac{V_0}{V} - 1)</math>
+
Давление:
  
Площадь шара вычисляется при помощи формулы площади Гаусса, позволяющей вычислить площадь произвольного многоугольника:
+
<math>
 +
  \underline{P}=k\left(\frac{V}{V_{0}} - 1\right) \underline{n}
 +
</math> 
  
<math>\begin{align}
+
где <math> V </math> - актуальный объем шара, <math> V_{0} </math> - начальный объем шара, <math> k </math> - коэффициент давления, <math> \underline{n}</math> - нормаль к пружине, направленная наружу.
\mathbf{S} &= \frac{1}{2} \left| \sum_{i=1}^{n-1} x_i y_{i+1} + x_n y_1 - \sum_{i=1}^{n-1} x_{i+1} y_i - x_1 y_n \right| = \\
 
            &= \frac{1}{2} |x_1 y_2 + x_2 y_3 + \dots + x_{n-1} y_n + x_n y_1 - x_2 y_1 - x_3 y_2 - \dots - x_n y_{n-1} - x_1 y_n|,
 
\end{align}</math>
 
  
Взаимодействие частиц со стенкой реализовано с помощью потенциала Леннарда-Джонса:
+
Взаимодействие шара со стеной:
  
 
<math>
 
<math>
U(r) = 4\varepsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^{6} \right],
+
  \underline{F}_{Wall}=-\nabla \Pi(r)
 
</math>
 
</math>
 +
 +
где  <math>\Pi(r)=4\varepsilon\left[\left(\frac{a}{r}\right)^{12}-\left(\frac{a}{r}\right)^6\right]</math>
 +
 +
Интегрирование уравнений движения осуществляется при помощи метода Верле.
 +
 +
==Результаты моделирования==
 +
 +
Исходный код: https://github.com/SteinVR/Ball-and-Wall.git
 +
 +
{{#widget:Iframe |url=https://steinvr.github.io/Ball-and-Wall/ |width=900 |height=900 |border=0 }}

Текущая версия на 10:51, 20 января 2022

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

Исполнитель: Логинов Александр

Группа: 5030103/80101

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

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

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

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

Уравнение движения для каждой из материальных точек записывается следующим образом:

[math] m\underline{\ddot{x}}_i(t)=\underline{F}_{R_1}+\underline{F}_{R_2}+\underline{P}+\underline{F}_{Wall}\\ \underline{x}_i(0)=\underline{x}_i^0,~\underline{v}_i(0)=v_i^0~~~i=1,\ldots,n [/math]


где [math] \underline{F}_{R_1}, \underline{F}_{R_2}\\ [/math] - силы упругости действующие на [math]i[/math]-ую частицу со стороны [math]i-1[/math] и [math]i+1[/math] соответственно;

[math] \underline{P} [/math] - давление создаваемое газом;

[math] \underline{F}_{Wall}\\ [/math] - сила взаимодействия между воздушным шаром и стеной;

Давление:

[math] \underline{P}=k\left(\frac{V}{V_{0}} - 1\right) \underline{n} [/math]

где [math] V [/math] - актуальный объем шара, [math] V_{0} [/math] - начальный объем шара, [math] k [/math] - коэффициент давления, [math] \underline{n}[/math] - нормаль к пружине, направленная наружу.

Взаимодействие шара со стеной:

[math] \underline{F}_{Wall}=-\nabla \Pi(r) [/math]

где [math]\Pi(r)=4\varepsilon\left[\left(\frac{a}{r}\right)^{12}-\left(\frac{a}{r}\right)^6\right][/math]

Интегрирование уравнений движения осуществляется при помощи метода Верле.

Результаты моделирования[править]

Исходный код: https://github.com/SteinVR/Ball-and-Wall.git