Модель движения системы материальных точек — КиберПедия 

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Модель движения системы материальных точек

2017-11-28 298
Модель движения системы материальных точек 0.00 из 5.00 0 оценок
Заказать работу

1. Задача. Имеется система N материальных точек с массами mi, i = 1, 2,..., N, взаимодействующих друг с другом с внутренними силами, на каждую из которых действует внешняя сила. Исходя из начальных координат xi, yi, и скоростей vxi, vyi, определите координаты и скорости материальных точек в последующие моменты времени.

2. Теория. Рассмотрим механическую систему из N материальных точек. Основной закон динамики:

где F'ij -- внутренняя сила, действующая на i-ую материальную точку со стороны j -ой материальной точки, Fi -- равнодействующая внешних сил, действующих на i - ую материальную точку со стороны тел не входящих в систему.

Дифференциальное уравнение второго порядка может быть представлено двумя дифференциальными уравнениями первого порядка. Имеем:

Зная внешние и внутренние силы, действующие на каждую материальную точку, можно определить их ускорения. Исходя из координат и скоростей точки в момент времени t, можно расчитать координаты и скорости точки в следующий момент времени t + Δ t.

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

3. Алгоритм.

1. Задают число материальных точек N, их массы mi, координаты xi, yi и проекции начальных скоростей vix, viy, силовое поле Fx = Fx (x,y), Fy = Fy (x,y), а также шаг по времени Δ t.

2. Начало цикла по t. Дают приращение по времени: переменной t присваивают значение t + Δ t.

3. Определяют проекции Fxi, Fyi равнодействующей всех внешних и внутренних сил, действующих на каждую i - ую материальную точку в момент t + Δt, и записывают их в массивы.

4. В цикле переобозначают координаты всех материальных точек, записывая их в массивы xx[i], yy[i].

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

axi (t + Δt) = Fxi (t + Δt)/mi,

vix (t + Δ t) = vix (t) + aix (t + Δt)Δt,

xi (t + Δ t) = xi (t) + vix (t + Δt)Δt.

По аналогичным формулам вычисляют проекции на ось OY. Результаты записывают в массивы x[i], y[i], vx[i], vy[i].

6. Стирают изображения материальных точек в предыдущий момент времени t, координаты которых сохранены в массивах xx[i], yy[i].

7. На экране строят точки в следующий момент t + Δt, либо рисуют графики или выводят результат в числовом виде.

8. Возвращение к операции 2. Если цикл по t закончился, -- выход из цикла.

4. Компьютерная реализация. Ниже приведен код программы, которая моделирует движение 50 молекул газа в прямоугольном сосуде, находящемся в однородном гравитационном поле.

program PROGRAMMA4;uses dos, crt, graph;const N=50; dt=0.01;var m,Fx,Fy,x,y,vx,vy,xx,yy: array[1..N] of real; Gd, Gm, i, j: integer; ax, ay, F, l: real;label Metka, metka1;Procedure Init_Graph; {Инициализация графики}begin Gd:=Detect; InitGraph(Gd, Gm, 'c:\bp\bgi'); if GraphResult <> grOk then Halt(1);end;Procedure Sila; {Вычисление действующих сил}label Metka;begin For i:=1 to N do begin Fx[i]:=0; Fy[i]:=0; end; For i:=1 to N do for j:=1 to N do begin if j=i then goto Metka; l:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])); if l<2 then l:=2; F:=-50000*m[i]*m[j]/sqr(l)+500000*m[i]*m[j]/sqr(l*l); Fx[i]:=Fx[i]+F*(x[i]-x[j])/l; Fy[i]:=Fy[i]+F*(y[i]-y[j])/l+m[i]*10; Metka: end;end;Procedure Nach_uslov;begin Randomize; {Задание случайных координат и скоростей} for i:=1 to N do begin m[i]:=2; x[i]:=random(280)+60; y[i]:=random(280)+60; vy[i]:=random(30)-15; vx[i]:=random(30)-15;end; end;BEGINInit_Graph; Nach_uslov;Repeat Sila;for i:=1 to N do begin xx[i]:=x[i]; yy[i]:=y[i]; {Запись предыдущих координат} ax:=Fx[i]/m[i]; ay:=Fy[i]/m[i]; {Вычисление ускорений,} vx[i]:=vx[i]+ax*dt; vy[i]:=vy[i]+ay*dt; {скоростей,} x[i]:=x[i]+vx[i]*dt; y[i]:=y[i]+vy[i]*dt; {координат} if (x[i]<50)or(x[i]>350) then vx[i]:=-vx[i];{отражение} if (y[i]<50)or(y[i]>350) then vy[i]:=-vy[i];{от стенок} end; delay(500); setcolor(8); for i:=1 to N do circle(round(xx[i]),round(yy[i]),2);setcolor(15); for i:=1 to N do circle(round(x[i]),round(y[i]),2);until KeyPressed; Repeat until keypressed; CloseGraph;END.

 

Тема 3. Математические системы. Реализация алгоритма для математических систем

 


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.