Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Прогнозирование и ликвидация последствий ЧС.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆
  1. Расчет последствий возникновения селевых потоков

Селевой поток – это смесь воды и большого количества обломков горных пород (глины, камней, глыб), двигающаяся вдоль русла реки на большой скорости.

Основными причинами возникновения селевых потоков являются:

  • селеформирующие грунты: плотные породы, глина

  • источники воды: ливни, ледники, снег, горные озера

Оценка параметров селевых потоков

Плотность селевого потока зависит от состава и содержания твердой составляющей:

ρ=1.2–1,9 103 (кг/м3)

Высота селевого потока:

H, м

Характеристика

1-2

2-3

3-5

5-10

маломощный поток

поток средней мощности

мощный поток

катастрофический поток

Скорость движения селевого потока:

V=11.4(H)1/2(sinα)1/3 (м/с)

V=2.5–7.5 (м/с)

Здесь:

  • α=10–27º – средний угол наклона селевого русла.

  • H=0.5–10 м – средняя глубина потока.

Пример 1. скорость движения селя

Определить скорость движения селевого потока для следующих условий:

α=20º, sin20=0.34

h=0.5 м

V=11.4*(0.5)1/2*(sin20)1/3=5.64 (м/c)

α=15º, sin15=0.26

h=1 м

V=11.4*(sin15)1/3=7.26 (м/c)

Комментарий:

Для тригонометрических функций в Visual Basic используется радианная мера угла. Переход от градусов к радианам производится по формуле:

Радианы = (3.141593/180)Градусы

Суммарное давление селевого потока на стены сооружений:

P=Pc+Pд (Па)

Статическое давление:

Pc=0.5ρgH

Здесь:

  • ρ – плотность потока.

  • g=9.81 – ускорение силы тяжести.

  • H – глубина потока.

Динамическое давление:

Pд=0.5ρV2 sin2λ

Здесь:

  • V – скорость движения.

  • λ – угол межу направлением движения селевого потока и стеной.

λ=0º – если стена расположена вдоль движения потока, λ=90º – если стена расположена перпендикулярно движению потока.

Пример 2. давление селя

Определить давление селевого потока для следующих условий:

ρ=1200 кг/м3

h=2 м

V=2.5 м/с

λ=90º, sin90=1

Pc=0.5*1200*9.81*2=11770 (Па) = 0.1177 105 (Па)

Pд=0.5*1200*(2.5)2=3750 (Па) = 0.0375 105 (Па)

P=0.1552 105 (Па)

Пример 3. параметры селя

Определить скорость и давление селевого потока по значению следующих параметров:

  • плотность потока, ρ

  • высота потока, H

  • средний угол наклона русла, α

Комментарий:

Ввести следующие ограничения на величину параметров:

  • ρ=1.2–1.9 103 (кг/м3)

  • H=1–10 (м)

  • α=10–27º

Воздействия селевых потоков на сооружения

Типы зданий и сооружений

  1. Здания со стальными и железобетонными каркасами

  2. Здания с легким металлическим каркасом

  3. Железобетонные здания

  4. Кирпичные здания

  5. Деревянные здания

  6. Здания ГЭС из монолитного железобетона

  7. Резервуары для хранения нефтепродуктов

  8. Водонапорные башни

  9. Линии электропередач

  10. Подземные трубопроводы диаметром до 35 см

  11. Подземные трубопроводы диаметром свыше 35 см

  12. Трубопроводы на металлических эстакадах

  13. Сети коммунального хозяйства (водопровод, газопровод, канализация)

  14. Железобетонные мосты

  15. Деревянные мосты

Зависимость степени повреждения здания от величины суммарного давления (105 Па)

Тип объекта

Слабое повреждение

Среднее повреждение

Сильное повреждение

Разрушение

1

0.45–0.75

0.75–0.81

0.81–0.9

0.9–1.5

2

0.15–0.30

0.30–0.45

0.45–0.75

0.75–1.05

3

0.15–0.30

0.30–0.45

0.45–0.60

0.60–1.90

4

0.20–0.30

0.30–0.53

0.53–0.68

0.68–0.98

5

0.09–0.12

0.12–0.18

0.18–0.30

0.30–0.45

6

0.75–1.50

1.50–3.0

3.0–4.5

4.5–5.0

7

0.23–0.30

0.30–0.45

0.45–0.60

0.60–0.68

8

0.15–0.30

0.30–0.60

0.60–0.90

0.90–0.98

9

0.38–0.45

0.45–0.75

0.75–1.05

1.05–1.13

10

9–15

15–23

23–30

30–34

11

3.0–5.5

5.5–9.0

9–15

15–18

12

0.30–0.50

0.50–0.60

0.60–0.75

0.75–0.90

13

2.5–6.0

6–15

15–23

23–25

14

1.5–2.3

2.3–3.0

3.0–3.8

3.8–4.5

15

0.6–0.9

0.9–1.6

1.6–2.5

2.5–3.0

Пример 4. Степень повреждения деревянных зданий

Определить степень повреждения деревянных зданий для селевого потока из примера 2.

P=0.1552 105 (Па)

Тип здания 5.

Здания получат среднее повреждение.

Пример 5. Степень повреждения кирпичных зданий

Определить степень повреждения кирпичных зданий по значению параметров селевого потока:

  • плотность потока, ρ

  • высота потока, H

  • угол наклона русла, α

  • направление движения селя, λ

Пример 6. Степень повреждения зданий

Определить степень повреждения разных типов зданий по значению параметров селевого потока.

Противоселевые сооружения

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

Противоселевые сооружения снижают давление селевого потока на стены сооружений. Эффективность противоселевого сооружения характеризуется коэффициентом снижения давления KCH:

Селезащитные сооружения

KCH

Запруды железобетонные

три дамбы

0.25

две дамбы

0.35

одна дамба

0.40

Запруды каменные

три дамбы

0.30

две дамбы

0.40

одна дамба

0.45

Запруды решетчатые металлические

три стенки

0.35

две стенки

0.45

одна стенка

0.50

Селесдерживающая плотина

0.1

Селеотводящие сооружения

0.05

Селеспускные сооружения

0

Селенаправляющие

железобетонные

0.15

каменные

0.25

бревенчатые

0.35

Каменные холмы

два ряда

0.70

один ряд

0.85

Грунтовые холмы

два ряда

0.80

один ряд

0.90

Простейшие сооружения

валы-канавы

0.80

террасы

0.70

Последствия воздействия селя на различные объекты с учетом селезащиты определяется по величине эффективного давления:

Pэ=КснP

Здесь:

  • P суммарное давление селевого потока без учета селезащиты.

При гарантированном отводе селевого потока KCH = 0.

При отсутствии селезащиты KCH = 1.

Пример 7. эффективное давление селя

Определить эффективное давление селевого потока на деревянное здание из примера 4 при наличии перед ним каменного холма в два ряда.

P=0.1552 105 (Па)

Ксн=0.70

Тип здания 5.

Pэ=0.7*0.1552 105 = 0.1086 105 (Па)

Здание получит слабые повреждения.

Пример 8. последствия селевого потока

Определить степень повреждения разных типов зданий по значению параметров селевого потока при учете селезащитных сооружений.

графическое представление результатов

Для графического представления результатов в языке Visual Basic используется объект управления PictureBox.

Основные методы объекта PictureBox:

Метод Scale позволяет задать масштаб графического окна

Picture1.Scale (X1, Y1)-(X2, Y2)

Здесь (X1, Y1) – координаты левого верхнего угла окна, (X2, Y2) – координаты правого нижнего угла.

Метод Line позволяет нарисовать линию

Picture1.Line (X1, Y1)-(X2, Y2)

Здесь (X1, Y1) – координаты начала линии, (X2, Y2) – координаты конца линии.

Метод PSet позволяет поставить точку в графическом окне

Picture1.PSet (X, Y), Color

Здесь (X, Y) – координаты точки, Color – цвет точки. Значения аргумента Color можно задать с помощью следующих констант:

Константа

Описание

vbBlack

черный

vbBlue

синий

vbGreen

зеленый

vbRed

красный

vbYellow

желтый

vbWhite

белый

Пример 9. график функции

Разместить на форме графическое поле, в котором построить графики функций:

5*Abs(Sin(X))

X^(1/2) + Log(X+1)

Код программы:

Private Sub Form_Load()

Line1.BorderColor = vbRed

Line2.BorderColor = vbGreen

End Sub

Private Sub Command1_Click()

Dim X As Single, Y As Single, I As Integer

Picture1.Scale (-0.6, 6)-(11, -1)

'Горизонтальная ось

Picture1.Line (0, 0)-(10.5, 0)

For I = 0 To 10

Picture1.Line (I, 0)-(I, 0.2)

Picture1.PSet (I - 0.3, -0.1), vbWhite

Picture1.Print I

Next I

'Вертикальная ось

Picture1.Line (0, 0)-(0, 5.5)

For I = 1 To 5

Picture1.Line (0, I)-(0.2, I)

Picture1.PSet (-0.6, I + 0.3), vbWhite

Picture1.Print I

Next I

'Графики

For X = 0 To 10 Step 0.01

Y = 5 * Abs(Sin(X))

Picture1.PSet (X, Y), vbRed

Y = X ^ (1 / 2) + Log(X + 1)

If Y >= 0 And Y <= 5 Then

Picture1.PSet (X, Y), vbGreen

End If

Next X

End Sub

Пример 10. скорость селевого потока

Построить графики для скорости селевого потока в функции угла и высоты потока:

V=11.4(H)1/2(sinα)1/3 (м/с)

Здесь:

  • α=0–25º – средний угол наклона селевого русла.

  • H=0.5, 1, 3. 5 м – средняя глубина потока.

создание интерактивных графиков

Для создания интерактивных графиков в объекте управления PictureBox используются следующие события мыши:

События мыши

MouseDown

Нажатие кнопки мыши

MouseMove

Передвижение курсора по объекту

Синтаксис событий:

Private Sub НазваниеОбъекта_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

End Sub

параметры событий

Button

Число

1

нажата левая кнопка мыши

2

нажата правая кнопка мыши

4

нажата средняя кнопка мыши

Shift

Число

0

клавиша не нажата

1

нажата клавиша [Shift]

2

нажата клавиша [Ctrl]

4

нажата клавиша [Alt]

X, Y

Пара чисел

X

горизонтальная координата курсора

Y

вертикальная координата курсора

Пример 11. интерактивный график функции

Разместить на форме графическое поле, в котором построить графики функции

5*Abs(Sin(X))

Разместить на форме текстовое поле, в которое при движении курсора выводится текущая координата X, и два текстовых поля, в которые при щелчке мыши выводятся координаты X и Y.

Дополнения к коду программы:

Dim Verify As Boolean

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Verify = True Then

Text1.Text = Round(X, 1)

End If

End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Verify = True Then

Text2.Text = Round(X, 1)

Text3.Text = Round(5 * Abs(Sin(X)), 1)

End If

End Sub

Private Sub Command2_Click()

Verify = True

End Sub

Пример 12. интерактивный график скорости селевого потока

Построить график для скорости селевого потока в функции угла наклона и высоты потока:

V=11.4(H)1/2(sinα)1/3 (м/с)

Обеспечить интерактивное вычисление скорости селевого потока с помощью нажатия клавиши мыши.

Код программы:

Dim Verify As Boolean

Private Sub Plot(H As Single, Color As Long)

Dim X As Single, Y As Single, I As Integer

For X = 0 To 25 Step 0.01

Y = 11.4 * (H) ^ (1 / 2) * (Sin(3.141593 * X / 180)) ^ (1 / 3)

If Y <= 14 Then

Picture1.PSet (X, Y), Color

End If

Next X

End Sub

Private Function V(H As Single, X As Single) As Single

V = 11.4 * (H) ^ (1 / 2) * (Sin(3.141593 * X / 180)) ^ (1 / 3)

End Function

Private Sub Command1_Click()

Picture1.Refresh

Picture1.Scale (-2.5, 15.5)-(27, -2)

'Горизонтальная ось

'Вертикальная ось

'Графики

Select Case Combo1.ListIndex

Case 0

Plot 1, vbGreen

Case 1

Plot 2, vbGreen

Case 2

Plot 3, vbGreen

Case 3

Plot 4, vbGreen

Case 4

Plot 5, vbGreen

Case 5

Plot 6, vbGreen

End Select

End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Verify = True Then

Text1.Text = Round(X, 1)

End If

End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Verify = True Then

Text2.Text = Round(X, 1)

Select Case Combo1.ListIndex

Case 0

Text3.Text = Round(V(1, X), 1)

Case 1

Text3.Text = Round(V(2, X), 1)

Case 2

Text3.Text = Round(V(3, X), 1)

Case 3

Text3.Text = Round(V(4, X), 1)

Case 4

Text3.Text = Round(V(5, X), 1)

Case 5

Text3.Text = Round(V(6, X), 1)

End Select

End If

End Sub

Private Sub Command2_Click()

Verify = True

End Sub

Применение панели меню при создании интерфейса

Чтобы создать на форме выпадающее меню используется пиктограмма Редактор меню панели инструментов:

Окно редактора меню:

Название (Caption) – надпись на строке меню или внутри выпадающего меню.

Имя (Name) – имя объекта, используемое в коде Visual Basic.

Правила именования:

Название – ObjectName

Имя – mnuObjectName

Элементы выпадающего меню ведут себя как командные кнопки.

Пример 13. география

Создать приложение, которое будет показывать площади следующих географических объектов:

Континенты

  • Африка – 11 700 000

  • Антарктика – 5 400 000

  • Азия – 17 300 000

  • Австралия – 2 900 000

  • Европа – 3 800 000

  • Северная Америка – 9 400 000

  • Южная Америка – 6 900 000

Океаны

  • Северный Ледовитый – 5 100 000

  • Атлантический – 33 400 000

  • Индийский – 28 400 000

  • Тихий – 64 200 000

Моря

  • Балтийское – 148 000

  • Берингово – 873 000

  • Черное – 196 000

  • Карибское – 971 000

  • Красное – 175 000

Фрагмент кода программы:

Private Sub Command1_Click()

Text1.Text = ""

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub mnuAfrica_Click()

Text1.Text = "11 700 000"

End Sub

Private Sub mnuAntarctica_Click()

Text1.Text = "5 400 000"

End Sub

End Sub

Применение диалоговых окон

Диалоговое окно используется для обмена информацией между программой и пользователем. Это отдельная форма, которая становится доступной при обращении к меню. Диалоговые окна обычно содержат стандартные элементы управления для ввода и отображения информации.

Для добавления в проект «дочерних» форм используется команда меню Проект | Добавить форму:

Для управления диалоговыми окнами используются следующие методы:

Hide

Скрыть форму, не выгружая ее из памяти

Show

Показать форму (и загрузить ее в память, если она не загружена)

и операторы:

Load

Загрузить форму в память (не выводит форму на экран)

Unload

Выгрузить форму из памяти

Для объявления глобальных переменных, функций и процедур, к которым можно обращаться в каждой форме, используется окно модуля класса. Для добавления в проект модуля класса используется команда меню Проект | Добавить модуль:

Пример 14. графики скорости селевого потока

С помощью меню и двух диалоговых локон построить графики для скорости селевого потока в функции угла наклона и высоты:

V=11.4(H)1/2(sinα)1/3 (м/с)

Здесь:

  • H –глубина потока

  • α – угол наклона русла

Интерфейс программы:

Окно проводник проекта:

Фрагменты кода формы 1:

Dim Verify As Boolean

Private Sub mnuPlotB_Click()

Form2.Show

Form1.Hide

End Sub

Private Sub Plot(H As Single)

'Нарисовать оси и график V(α)

End Sub

Private Sub Command1_Click()

Picture1.Refresh

Plot (Val(Text1.Text))

End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Verify = True Then

Label5 = Round(X, 1) & " : " & Round(Y, 1)

End If

End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Verify = True Then

Text2.Text = Round(X, 1)

Text3.Text = Round(Speed(Val(Text1.Text), X), 1)

End If

End Sub

Private Sub Command2_Click()

Verify = True

End Sub

Код модуля:

Function Speed(H As Single, X As Single) As Single

Speed = 11.4 * (H) ^ (1 / 2) * (Sin(3.141593 * X / 180)) ^ (1 / 3)

End Function