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

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

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 25: Строка 25:
  
 
== Решение ==
 
== Решение ==
Моделирование схода лавины происходит в двумерном пространстве. В качестве простейшей модели горы был взят прямоугольный треугольник с углом наклона <math> 30^\circ </math>, а в качестве снежной массы - элементs-круги радиуса <math>r</math>, имитирующие отдельные частицы снежной массы.
+
Моделирование схода лавины происходит в двумерном пространстве. В качестве простейшей модели горы был взят прямоугольный треугольник с углом наклона <math> 30^\circ </math>, а в качестве снежной массы - элементs-кругb радиуса <math>r</math>,имитирующиt отдельные частицы снежной массы.
  
 
Целесообразно разделить движение частицы на 2 части: движение по наклонной плоскости и движение по горизонтальной поверхности.
 
Целесообразно разделить движение частицы на 2 части: движение по наклонной плоскости и движение по горизонтальной поверхности.
Строка 32: Строка 32:
  
 
После того, как шары скатились со склона, они продолжают движение по горизонтальной поверхности, замедляясь за счет силы трения <math> F_{тр2}</math>. Сила, действующая на частицу, считается аналогично <math> F=-B_2v</math>, однако взят другой коэффициент пропорциональности и составляющие, отвечающие за движение по вертикали взаимоуничтожают друг друга, за счёт чего происходит лишь торможение по горизонтальной оси.
 
После того, как шары скатились со склона, они продолжают движение по горизонтальной поверхности, замедляясь за счет силы трения <math> F_{тр2}</math>. Сила, действующая на частицу, считается аналогично <math> F=-B_2v</math>, однако взят другой коэффициент пропорциональности и составляющие, отвечающие за движение по вертикали взаимоуничтожают друг друга, за счёт чего происходит лишь торможение по горизонтальной оси.
 
Изначально частицы расположены на расстоянии, превышающим радиус частицы в 8 раз.
 
  
 
== Визуализация задачи==
 
== Визуализация задачи==
Строка 49: Строка 47:
  
 
     ctx.fillStyle="#8888ff";
 
     ctx.fillStyle="#8888ff";
                         
+
                         
    var r = 5;                                 
+
        var vx = 2, vy = 2;                        // скорость шара
 +
        var r = 5;                                // радиус шара
 +
 
 
var grass_height = 5;
 
var grass_height = 5;
 
var mountian_length = 400;
 
var mountian_length = 400;
 +
 
var sin_alpha_1 = 0.5;
 
var sin_alpha_1 = 0.5;
 
var cos_alpha_1 = 0.866;
 
var cos_alpha_1 = 0.866;
 +
 
var sun_r = 50;
 
var sun_r = 50;
var rx1 = 0, ry1 (mountian_length)* sin_alpha_1 / cos_alpha_1 - r;
+
var rx = 0, ry =  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 g = 2;
var dt = 0.15;
+
var dt = 0.1;
 
var m = 1;
 
var m = 1;
 
var B = 0.06;
 
var B = 0.06;
 
var B2 = 0.09;
 
var B2 = 0.09;
var vx1 = 2, vy1 = 2;
+
var fy = 0;
var vx2 = 2, vy2 = 2;
+
var fx = 0;
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() {                           
 
     function step() {                           
Строка 85: Строка 74:
  
 
     function tick() {   
 
     function tick() {   
if (rx1 + r > 0 && rx1 - r < mountian_length && ry1 < (height - grass_height - mountian_length * sin_alpha_1 / cos_alpha_1) * rx1
+
if (rx + r > 0 && rx - r < mountian_length && ry < (height - grass_height - mountian_length * sin_alpha_1 / cos_alpha_1)
+ mountian_length * sin_alpha_1 / cos_alpha_1) {
+
                                                                    * rx + mountian_length * sin_alpha_1 / cos_alpha_1) {
fy1 = m * g - B * vy1;
+
fy = m * g - B * vy;
fx1 = m * g - B * vx1;
+
fx = m * g - B * vx;
vy1 = vy1 + fy1 / m * dt * sin_alpha_1;
+
 
vx1 = vx1 + fx1 / m * dt * cos_alpha_1;
+
vy = vy + fy / m * dt * sin_alpha_1;
ry1 = ry1 + vy1 * dt * sin_alpha_1;
+
vx = vx + fx / m * dt * cos_alpha_1;
rx1 = rx1 + vx1 * dt * cos_alpha_1;  
+
 
+
ry = ry + vy * dt * sin_alpha_1;
 +
rx = rx + vx * dt * cos_alpha_1;
 
}
 
}
if (rx1 - r > mountian_length){
+
if (rx - r > mountian_length){
+
 
fx1 = - B2 * vx1;
+
fx = - B2 * vx;
vx1 = vx1 + fx1 / m * dt;
+
vx = vx + fx / m * dt;
rx1 = rx1 + vx1 * dt;
+
rx = rx + vx * 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;
 
 
}
 
}
 
          
 
          
Строка 158: Строка 117:
 
 
 
ctx.fillStyle="#fff200"; //sun
 
ctx.fillStyle="#fff200"; //sun
        ctx.beginPath();
+
                ctx.beginPath();
        ctx.arc(width, 0, sun_r, 0, 2 * Math.PI);
+
                ctx.arc(width, 0, sun_r, 0, 2 * Math.PI);
        ctx.fill();
+
                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.fillStyle="#e6e5d1"; //snow
 
ctx.beginPath();
 
ctx.beginPath();
        ctx.arc(rx3, ry3, r, 0, 2 * Math.PI);
+
                ctx.arc(rx, ry, r, 0, 2 * Math.PI);
        ctx.fill();
+
                ctx.fill();
 
         
 
         
 
 
Строка 183: Строка 132:
  
 
}
 
}
 +
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 201: Строка 151:
  
 
== Обсуждение результатов и выводы ==
 
== Обсуждение результатов и выводы ==
В ходе работы над курсовым проектом была разработана простейшая модель, анализирующая процессы, происходящие при сходе лавины. Было установлено, что при увеличении коэффициента пропорциональности между силой <math> F </math>, действующей на частицу, и скоростью частицы <math> v </math>  уменьшается координата конечного положения частицы. При увеличении начальной скорости <math> v </math> увеличивается координата конечного положения частицы.
+
В ходе работы над курсовым проектом была разработана простейшая модель, визуализирующая процесс схода лавины. Было установлено, что при увеличении коэффициента пропорциональности между силой <math> F </math>, действующей на частицу и скоростью частицы <math> v </math>  уменьшается координата конечного положения частицы. При увеличении начальной скорости <math> v </math> увеличивается координата конечного положения частицы.
 
 
Из программы видно, что частица, находящаяся выше, "обогнала" частицу, находящуюся ниже. Такое изменение в положении частиц произошло из-за того, что частицы, скатывающаяся с большей высоты, приобретают при спуске большую скорость.Также видно, что в конечный момент времени расстояние между частицами уменьшается по сравнению с расстоянием между начальными положениями, т.е. происходит "кучкование" частиц. Следовательно, можно сделать вывод о том, что линейные размеры района, охваченного снежной массой после схода лавины, значительно меньше линейных размеров снежной массы, из которой образуется лавина. 
 
  
 
Дальнейшие предложения по проекту:
 
Дальнейшие предложения по проекту:
* Увеличить число частиц, дав возможность пользователю выбирать количество с помощью движка;
+
* Увеличить число частиц, дав возможность пользователю выбирать количество с помощью движка
* Дать возможность пользователю менять коэффициент пропорциональности с помощью движка;
+
* Дать возможность пользователю менять коэффициент пропорциональности с помощью движка
* Добавить движок, позволяющий менять угол наклона горы;
+
* Добавить движок, позволяющий менять угол наклона горы
  
  
Строка 214: Строка 162:
 
[[Медиа:avalanche.doc|Скачать отчет]]
 
[[Медиа:avalanche.doc|Скачать отчет]]
 
<br>
 
<br>
[[Медиа:ДИНАМИКА_ЛАВИНЫ.pptx|Скачать презентацию]]
+
Скачать презентацию:
<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:

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