Редактирование: КП: Динамика лавины

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 22: Строка 22:
 
Снег удерживается на склоне горы за счет силы трения. Сход лавины происходит в тот момент, когда сила давления массы снега начинает превышать силу трения.
 
Снег удерживается на склоне горы за счет силы трения. Сход лавины происходит в тот момент, когда сила давления массы снега начинает превышать силу трения.
  
Наиболее благоприятными для лавинообразования являются склоны крутизной <math> 25-40^\circ</math>. Сход со склона скопившейся снежной массы обычно провоцируется климатическими причинами: резкой сменой погоды, дождями, а также механическими воздействиями на снежную массу. Иногда, в силу установившегося относительного равновесия между действующей силой трения и силой давления, сход лавины может инициироваться незначительным толчком (например, звуком ружейного выстрела или давлением на снег одного человека — горнолыжника, сноубордиста)
+
Наиболее благоприятными для лавинообразования являются склоны крутизной 25—45°. Сход со склона скопившейся снежной массы обычно провоцируется климатическими причинами: резкой сменой погоды, дождями, а также механическими воздействиями на снежную массу. Иногда, в силу установившегося относительного равновесия между действующей силой трения и силой давления, сход лавины может инициироваться незначительным толчком (например, звуком ружейного выстрела или давлением на снег одного человека — горнолыжника, сноубордиста)
  
 
== Решение ==
 
== Решение ==
Моделирование схода лавины происходит в двумерном пространстве. В качестве простейшей модели горы был взят прямоугольный треугольник с углом наклона <math> 30^\circ </math>, а в качестве снежной массы - элементs-круги радиуса <math>r</math>, имитирующие отдельные частицы снежной массы.
+
Моделирование сходы лавины происходит в двумерном пространстве. В качестве простейшей модели горы был взят прямоугольный треугольник, а в качестве снежной массы - большое количество элементов-кругов радиуса <math>r</math>,имитирующих отдельные частицы снежной массы.
  
Целесообразно разделить движение частицы на 2 части: движение по наклонной плоскости и движение по горизонтальной поверхности.
+
Целесообразно разделить движение шаров на 2 части: движение по наклонной плоскости и движение по горизонтальной поверхности.
  
При движении по наклонной плоскости шары скатываются со склона за счет силы тяжести <math> F_{mg} </math>, однако удерживаются на склоне за счет силы трения <math> F_{тр1}</math>. При данном движении меняются координаты частицы и по оси ординат, и по оси абсцисс. Сила, действующая на частицу, вычисляется по формуле <math> F = mg-Bv</math>, где <math> B </math>  - коэффициент, связывающий скорость частицы и силу.
+
При движении по наклонной плоскости шары скатываются со склона за счет силы тяжести <math> F_{mg} </math>.
  
После того, как шары скатились со склона, они продолжают движение по горизонтальной поверхности, замедляясь за счет силы трения <math> F_{тр2}</math>. Сила, действующая на частицу, считается аналогично <math> F=-B_2v</math>, однако взят другой коэффициент пропорциональности и составляющие, отвечающие за движение по вертикали взаимоуничтожают друг друга, за счёт чего происходит лишь торможение по горизонтальной оси.
+
<math>  
 +
ma = mg + F_{тр} + N
 +
</math>
  
Изначально частицы расположены на расстоянии, превышающим радиус частицы в 8 раз.
+
<math>
 +
a = g(\sin\alpha - \mu \cos\alpha)
 +
</math>
  
== Визуализация задачи==
+
<math>
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Sizova/dl_avalanche_finish.html | справа |width=900|height=500 |border=0 }}
+
v_x = at\cos\alpha, v_y = at\sin\alpha
 +
</math>
  
<div class="mw-collapsible mw-collapsed">
+
<math>
'''Текст программы на языке JavaScript:''' <div class="mw-collapsible-content">
+
r_x = r_{0x} +  \frac{at^2}{2}\cos\alpha, r_y = r_{0y} + \frac{at^2}{2}\cos\alpha
Файл '''"dl_avalanche_finish.js"'''
+
</math>
<syntaxhighlight lang="javascript" line start="1" enclose="div">
 
function main_dl_avalanche_finish() {
 
  
    var ctx = canvas_avalanche_finish.getContext("2d");
+
После того, как шары скатились со склона, они продолжают движение по горизонтальной поверхности, замедляясь за счет силы трения <math> F_{тр2}</math>.
    var width = canvas_avalanche_finish.width;
 
    var height = canvas_avalanche_finish.height;
 
 
 
    ctx.fillStyle="#8888ff";
 
                         
 
    var r = 5;                               
 
var grass_height = 5;
 
var mountian_length = 400;
 
var sin_alpha_1 = 0.5;
 
var cos_alpha_1 = 0.866;
 
var sun_r = 50;
 
var rx1 = 0, ry1 =  (mountian_length)* sin_alpha_1 / cos_alpha_1 - r;
 
var rx2 = 40, ry2 =  (mountian_length + rx2 - 4 * r) * sin_alpha_1 / cos_alpha_1;
 
var rx3 = 80, ry3 =  (mountian_length + rx3 - 6 * r) * sin_alpha_1 / cos_alpha_1;
 
 
var g = 2;
 
var dt = 0.15;
 
var m = 1;
 
var B = 0.06;
 
var B2 = 0.09;
 
var vx1 = 2, vy1 = 2;
 
var vx2 = 2, vy2 = 2;
 
var vx3 = 2, vy3 = 2;
 
var fy1 = 0;
 
var fx1 = 0;
 
var fy2 = 0;
 
var fx2 = 0;
 
var fy3 = 0;
 
var fx3 = 0;
 
 
var mu1 = 0.2;
 
 
var a1 = g * (sin_alpha_1 - mu1 * cos_alpha_1);
 
 
 
    function step() {                         
 
        tick();
 
        draw();
 
    }
 
 
 
    function tick() { 
 
if (rx1 + r > 0 && rx1 - r < mountian_length && ry1 < (height - grass_height - mountian_length * sin_alpha_1 / cos_alpha_1) * rx1
 
+ mountian_length * sin_alpha_1 / cos_alpha_1) {
 
fy1 = m * g - B * vy1;
 
fx1 = m * g - B * vx1;
 
vy1 = vy1 + fy1 / m * dt * sin_alpha_1;
 
vx1 = vx1 + fx1 / m * dt * cos_alpha_1;
 
ry1 = ry1 + vy1 * dt * sin_alpha_1;
 
rx1 = rx1 + vx1 * dt * cos_alpha_1;
 
 
}
 
if (rx1 - r > mountian_length){
 
 
fx1 = - B2 * vx1;
 
vx1 = vx1 + fx1 / m * dt;
 
rx1 = rx1 + vx1 * dt;
 
ry1 = height - grass_height;
 
}
 
if (rx2 + r > 0 && rx2 - r < mountian_length && ry2 < (height - grass_height - mountian_length * sin_alpha_1 / cos_alpha_1) * rx2
 
+ mountian_length * sin_alpha_1 / cos_alpha_1) {
 
fy2 = m * g - B * vy2;
 
fx2 = m * g - B * vx2;
 
vy2 = vy2 + fy2 / m * dt * sin_alpha_1;
 
vx2 = vx2 + fx2 / m * dt * cos_alpha_1;
 
ry2 = ry2 + vy2 * dt * sin_alpha_1;
 
rx2 = rx2 + vx2 * dt * cos_alpha_1;
 
}
 
if (rx2 - r > mountian_length){
 
ry2 = height - grass_height;
 
fx2 = - B2 * vx2;
 
vx2 = vx2 + fx2 / m * dt;
 
rx2 = rx2 + vx2 * dt;
 
}
 
if (rx3 + r > 0 && rx3 - r < mountian_length && ry3 < (height - grass_height - mountian_length * sin_alpha_1 / cos_alpha_1) * rx3
 
+ mountian_length * sin_alpha_1 / cos_alpha_1) {
 
fy3 = m * g - B * vy3;
 
fx3 = m * g - B * vx3;
 
vy3 = vy3 + fy3 / m * dt * sin_alpha_1;
 
vx3 = vx3 + fx3 / m * dt * cos_alpha_1;
 
ry3 = ry3 + vy3 * dt * sin_alpha_1;
 
rx3 = rx3 + vx3 * dt * cos_alpha_1;
 
}
 
if (rx3 - r > mountian_length){
 
ry3 = height - grass_height;
 
fx3 = - B2 * vx3;
 
vx3 = vx3 + fx3 / m * dt;
 
rx3 = rx3 + vx3 * dt;
 
}
 
       
 
    }
 
 
 
    function draw() {
 
 
        ctx.clearRect(0, 0, width, height);    //clear
 
ctx.beginPath();
 
 
ctx.fillStyle="#49b9ed"; //sky
 
ctx.beginPath();
 
ctx.fillRect(0, 0, width, height);
 
 
ctx.fillStyle="#16a600"; //grass
 
ctx.beginPath();
 
ctx.fillRect(0, height - grass_height, width, height);
 
 
ctx.fillStyle="#57564c"; //mountain
 
ctx.beginPath();
 
ctx.moveTo(0, height - grass_height);
 
ctx.lineTo(mountian_length, height - grass_height);
 
ctx.lineTo(0, mountian_length * sin_alpha_1 / cos_alpha_1);
 
ctx.lineTo(0, height - grass_height);
 
ctx.fill();
 
 
 
ctx.fillStyle="#fff200"; //sun
 
        ctx.beginPath();
 
        ctx.arc(width, 0, sun_r, 0, 2 * Math.PI);
 
        ctx.fill();
 
 
ctx.fillStyle="#ff0000"; //snow1
 
ctx.beginPath();
 
        ctx.arc(rx1, ry1, r, 0, 2 * Math.PI);
 
        ctx.fill();
 
 
ctx.fillStyle="#0900ff"; //snow2
 
ctx.beginPath();
 
        ctx.arc(rx2, ry2, r, 0, 2 * Math.PI);
 
        ctx.fill();
 
 
ctx.fillStyle="#e6e5d1"; //snow3
 
ctx.beginPath();
 
        ctx.arc(rx3, ry3, r, 0, 2 * Math.PI);
 
        ctx.fill();
 
       
 
 
    }
 
 
 
    setInterval(step, 1000 / 60);              // функция step будет запускаться 60 раз в секунду (60 раз / 1000 мс)
 
 
 
}
 
</syntaxhighlight>
 
 
 
Файл '''"dl_avalanche_finish.html"'''
 
<syntaxhighlight lang="javascript" line start="1" enclose="div">
 
<!DOCTYPE html>
 
<html>
 
<head>
 
    <title>Avalanche</title>
 
    <script src="dl_avalanche_finish.js"></script>
 
</head>
 
<body onload="main_dl_avalanche_finish();">
 
    <canvas id="canvas_avalanche_finish" width="800" height="400" style="border: 1px solid #000000"></canvas>
 
</body>
 
</html>
 
</syntaxhighlight>
 
</div>
 
  
 
== Обсуждение результатов и выводы ==
 
== Обсуждение результатов и выводы ==
В ходе работы над курсовым проектом была разработана простейшая модель, анализирующая процессы, происходящие при сходе лавины. Было установлено, что при увеличении коэффициента пропорциональности между силой <math> F </math>, действующей на частицу, и скоростью частицы <math> v </math>  уменьшается координата конечного положения частицы. При увеличении начальной скорости <math> v </math> увеличивается координата конечного положения частицы.
 
  
Из программы видно, что частица, находящаяся выше, "обогнала" частицу, находящуюся ниже. Такое изменение в положении частиц произошло из-за того, что частицы, скатывающаяся с большей высоты, приобретают при спуске большую скорость.Также видно, что в конечный момент времени расстояние между частицами уменьшается по сравнению с расстоянием между начальными положениями, т.е. происходит "кучкование" частиц. Следовательно, можно сделать вывод о том, что линейные размеры района, охваченного снежной массой после схода лавины, значительно меньше линейных размеров снежной массы, из которой образуется лавина. 
 
  
Дальнейшие предложения по проекту:
 
* Увеличить число частиц, дав возможность пользователю выбирать количество с помощью движка;
 
* Дать возможность пользователю менять коэффициент пропорциональности с помощью движка;
 
* Добавить движок, позволяющий менять угол наклона горы;
 
 
 
<br>
 
[[Медиа:avalanche.doc|Скачать отчет]]
 
 
<br>
 
<br>
[[Медиа:ДИНАМИКА_ЛАВИНЫ.pptx|Скачать презентацию]]
+
[[Медиа:kate.doc|Скачать отчет]]
 
<br>
 
<br>
 +
Скачать презентацию:
  
 
== Ссылки по теме ==
 
== Ссылки по теме ==
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)