Моделирование удара шара об стенку — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
Shtamm.ma (обсуждение | вклад) (новая статья) |
Shtamm.ma (обсуждение | вклад) (→Математическая модель) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''''Курсовой проект по [[Механика дискретных сред|Механике дискретных сред]]''''' | '''''Курсовой проект по [[Механика дискретных сред|Механике дискретных сред]]''''' | ||
+ | |||
+ | '''Исполнитель:''' [[Штамм Максим]] | ||
+ | |||
+ | '''Группа:''' 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)=\underline{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> | ||
+ | {F}_{R}= -(l - l_0)k_R | ||
+ | </math>, где <math>k_R</math> - коэффициент жесткости пружины, <math>l</math> - длина пружины на данном шаге, <math>l_0</math> - начальная длина пружины | ||
+ | |||
+ | Давление: | ||
+ | |||
+ | <math> | ||
+ | \underline{P}=k(1-\frac{V}{V_{0}}) \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[(\frac{a}{r})^{12}-(\frac{a}{r})^6]</math> | ||
+ | |||
+ | Интегрирование уравнений движения осуществляется при помощи метода Верле. | ||
+ | |||
+ | ==Реализация модели== | ||
+ | Исходный код: [https://github.com/ShtangensZirkyl/hw-discrete Реализация] |
Текущая версия на 10:19, 20 января 2022
Курсовой проект по Механике дискретных сред
Исполнитель: Штамм Максим
Группа: 5030103/80101
Семестр: осень 2021
Постановка задачи[править]
Требуется смоделировать удар воздушного шарика о твердую стенку в двумерной постановке. Воздушный шарик представляет из себя оболочку, состоящую из материальный точек, каждая из которых соединена пружиной. Отскакивание воздушного шара от стенки моделируется при помощи потенциала Ленарда-Джонса.
Математическая модель[править]
Уравнение движения для каждой из материальных точек записывается следующим образом:
где
- силы упругости действующие на -ую частицу со стороны и соответственно;- давление создаваемое газом;
- сила взаимодействия между воздушным шаром и стеной;
Сила упругости, возникающая в пружине соединяющей частицы, вычисляется по следующей формуле:
, где - коэффициент жесткости пружины, - длина пружины на данном шаге, - начальная длина пружины
Давление:
, где - актуальный объем шара, - начальный объем шара, - коэффициент давления, - нормаль к пружине, направленная наружу.
Взаимодействие шара со стеной:
, где
Интегрирование уравнений движения осуществляется при помощи метода Верле.
Реализация модели[править]
Исходный код: Реализация