КП: Динамика лавины — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Решение)
(Решение)
Строка 29: Строка 29:
 
Целесообразно разделить движение шаров на 2 части: движение по наклонной плоскости и движение по горизонтальной поверхности.
 
Целесообразно разделить движение шаров на 2 части: движение по наклонной плоскости и движение по горизонтальной поверхности.
  
При движении по наклонной плоскости шары скатываются со склона за счет силы тяжести <math> F_{mg} </math>. При данном движении меняются координаты частицы и по оси ординат, и по оси абсцисс.  
+
При движении по наклонной плоскости шары скатываются со склона за счет силы тяжести <math> F_{mg} </math>, однако удерживаются на склоне за счет силы трения <math> F_{тр1}</math>. При данном движении меняются координаты частицы и по оси ординат, и по оси абсцисс. Сила, действующая на частицу, вычисляется по формуле <math> F = mg-Bv_y </math>, где <math> B </math>  - коэффициент, связывающий скорость частицы и силу.
 
 
 
 
  
 
После того, как шары скатились со склона, они продолжают движение по горизонтальной поверхности, замедляясь за счет силы трения <math> F_{тр2}</math>. Координата частицы по оси ординат не меняется, меняется лишь координата по оси абсцисс.
 
После того, как шары скатились со склона, они продолжают движение по горизонтальной поверхности, замедляясь за счет силы трения <math> F_{тр2}</math>. Координата частицы по оси ординат не меняется, меняется лишь координата по оси абсцисс.

Версия 09:48, 11 июня 2015

А.М. Кривцов > Теоретическая механика > Курсовые проекты ТМ 2015 > Динамика лавины
Сход лавины

Курсовой проект по Теоретической механике

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

Группа: 09 (23604)

Семестр: весна 2015

Аннотация проекта

На данный момент лавины являются одним из самых опасных видов природных катастроф. Под снежными лавинами погибает большое количество горнолыжников, сноубордистов, горных туристов, а также происходит разрушение горных деревень, дорожной инфраструктуры и наносится экологический вред лесам. Целью данной работы является разработка модели лавины, условий, при которых происходит ее сход(отрыв), а также расчет последствий, к которым может привести сход лавины.


Формулировка задачи

  • разработка модели лавины, как набор шариков, обладающих определенной массой и находящихся в неустойчивом состоянии
  • расчет параметров отрыва(схода лавины), ее распространения, а также исследование динамических характеристик процесса жизненного цикла лавины


Общие сведения по теме

Снег удерживается на склоне горы за счет силы трения. Сход лавины происходит в тот момент, когда сила давления массы снега начинает превышать силу трения.

Наиболее благоприятными для лавинообразования являются склоны крутизной 25—45°. Сход со склона скопившейся снежной массы обычно провоцируется климатическими причинами: резкой сменой погоды, дождями, а также механическими воздействиями на снежную массу. Иногда, в силу установившегося относительного равновесия между действующей силой трения и силой давления, сход лавины может инициироваться незначительным толчком (например, звуком ружейного выстрела или давлением на снег одного человека — горнолыжника, сноубордиста)

Решение

Моделирование сходы лавины происходит в двумерном пространстве. В качестве простейшей модели горы был взят прямоугольный треугольник с углом наклона [math] 30^\circ [/math], а в качестве снежной массы - большое количество элементов-кругов радиуса [math]r[/math],имитирующих отдельные частицы снежной массы.

Целесообразно разделить движение шаров на 2 части: движение по наклонной плоскости и движение по горизонтальной поверхности.

При движении по наклонной плоскости шары скатываются со склона за счет силы тяжести [math] F_{mg} [/math], однако удерживаются на склоне за счет силы трения [math] F_{тр1}[/math]. При данном движении меняются координаты частицы и по оси ординат, и по оси абсцисс. Сила, действующая на частицу, вычисляется по формуле [math] F = mg-Bv_y [/math], где [math] B [/math] - коэффициент, связывающий скорость частицы и силу.

После того, как шары скатились со склона, они продолжают движение по горизонтальной поверхности, замедляясь за счет силы трения [math] F_{тр2}[/math]. Координата частицы по оси ординат не меняется, меняется лишь координата по оси абсцисс.

Визуализация программы

Текст программы на языке JavaScript:

Файл "dl_avalanche_finish.js"

 1 function main_dl_avalanche_finish() {
 2 
 3     var ctx = canvas_avalanche_finish.getContext("2d");
 4     var width = canvas_avalanche_finish.width;
 5     var height = canvas_avalanche_finish.height;
 6 
 7     ctx.fillStyle="#8888ff";
 8                            
 9         var vx = 2, vy = 2;                         // скорость шара
10         var r = 5;                                 // радиус шара
11 
12 	var grass_height = 5;
13 	var mountian_length = 400;
14 
15 	var sin_alpha_1 = 0.5;
16 	var cos_alpha_1 = 0.866;
17 
18 	var sun_r = 50;
19 	var rx = 0, ry =  mountian_length * sin_alpha_1 / cos_alpha_1 - r;
20 	
21 	var g = 2;
22 	var dt = 0.1;
23 	var m = 1;
24 	var B = 0.06;
25 	var B2 = 0.09;
26 	var fy = 0;
27 	var fx = 0;
28 
29     function step() {                           
30         tick();
31         draw();
32     }
33 
34     function tick() {  
35 		if (rx + r > 0 && rx - r < mountian_length && ry < (height - grass_height - mountian_length * sin_alpha_1 / cos_alpha_1)
36                                                                     * rx + mountian_length * sin_alpha_1 / cos_alpha_1) {
37 			fy = m * g - B * vy;
38 			fx = m * g - B * vx;
39 
40 			vy = vy + fy / m * dt * sin_alpha_1;
41 			vx = vx + fx / m * dt * cos_alpha_1;
42 
43 			ry = ry + vy * dt * sin_alpha_1;
44 			rx = rx + vx * dt * cos_alpha_1;
45 		}
46 		if (rx - r > mountian_length){
47 
48 			fx = - B2 * vx;
49 			vx = vx + fx / m * dt;
50 			rx = rx + vx * dt;
51 		}
52         
53     }
54 
55     function draw() { 
56 		
57         ctx.clearRect(0, 0, width, height);     //clear
58 		ctx.beginPath();
59 		
60 		ctx.fillStyle="#49b9ed"; //sky
61 		ctx.beginPath();
62 		ctx.fillRect(0, 0, width, height);
63 		
64 		ctx.fillStyle="#16a600"; //grass
65 		ctx.beginPath();
66 		ctx.fillRect(0, height - grass_height, width, height);
67 		
68 		ctx.fillStyle="#57564c"; //mountain
69 		ctx.beginPath();
70 		ctx.moveTo(0, height - grass_height);
71 		ctx.lineTo(mountian_length, height - grass_height);
72 		ctx.lineTo(0, mountian_length * sin_alpha_1 / cos_alpha_1);
73 		ctx.lineTo(0, height - grass_height);
74 		ctx.fill();
75 		
76 		
77 		ctx.fillStyle="#fff200"; //sun
78                 ctx.beginPath();
79                 ctx.arc(width, 0, sun_r, 0, 2 * Math.PI);
80                 ctx.fill();
81 		
82 		ctx.fillStyle="#e6e5d1"; //snow
83 		ctx.beginPath();
84                 ctx.arc(rx, ry, r, 0, 2 * Math.PI);
85                 ctx.fill();
86 		        
87 				
88     }
89 
90     setInterval(step, 1000 / 60);               // функция step будет запускаться 60 раз в секунду (60 раз / 1000 мс)
91 
92 }

Файл "dl_avalanche_finish.html"

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>Avalanche</title>
 5     <script src="dl_avalanche_finish.js"></script>
 6 </head>
 7 <body onload="main_dl_avalanche_finish();">
 8     <canvas id="canvas_avalanche_finish" width="800" height="400" style="border: 1px solid #000000"></canvas>
 9 </body>
10 </html>

Обсуждение результатов и выводы


Скачать отчет
Скачать презентацию:

Ссылки по теме

См. также