Лабораторные работы / Работа 2 - Вариант 5 - Тамбовцев - 2008 / Отчет вар5
.docРОССИЙСКИЙ ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
им. Д.И.Менделеева
Кафедра информатики и компьютерного моделирования
Моделирование гидравлической системы, динамический режим.
выполнил
Студент группы И-4
Проверил
Преподаватель
Тамбовцев И.И.
Москва 2008
Принятые допущения.
-
Режим динамический, рассматривается только движение жидкости.
-
Жидкость идеальна.
-
Движение жидкости описывается уравнением Бернулли (жидкость не сжимаема).
-
Сопротивление в вентилях много больше всех местных сопротивлений и сопротивления трению, т.е. на участках, где нет вентилей, давление постоянно.
-
Газ в емкостях идеален.
-
Процесс изотермичен.
-
Все трубопроводы находятся на одном уровне.
-
В пустой емкости давление равно атмосферному.
Схема трубопровода.
Система уравнений.
Дано: P1-P3; P5-P7; , Pa, H1, H2, S1,S2, ρ
Найти: P8, P9, P10, P11, .
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
Информационная матрица.
|
V1 |
V2 |
V3 |
V4 |
V5 |
V6 |
V7 |
P7 |
P8 |
P9 |
P10 |
h1 |
h2 |
h1 |
h2 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Блок схема.
Программа.
Option Explicit
Option Base 1
Public culc As Integer
Const m As Byte = 2 'Количество решаемых ОДУ
Const np% = 10, nk% = 7, nv% = 7, g! = 9.8
Public del! 'шаг
Private k!
Private y0!(m), x0! 'Начальное значение
Private n% 'Число шагов
Private kv% 'Кратность вывода
Private x1!, y1!(m), i%
Private ki!, ki1!, ki2!, vm!(nk), v!(nk), ak!(nk), p!(np)
Private hg!(m), h!(m), s!(m), pr!(m), ro!, pn!, x!, ipr%, ipr1%
' Используем стандартную функцию sgn(a), которая возвращает (-1)a<0 (1)a>0 (0)=0
Sub dydx(x As Single, y() As Single, pr!())
'Расчет производных для текущих(pr) x,y
Dim j%
For j = 1 To m: h(j) = y(j): Next j
p(9) = pn * hg(1) / (hg(1) - h(1)): p(10) = pn * hg(2) / (hg(2) - h(2))
p(7) = p(9) + ro * g * h(1) * 0.000001: p(8) = p(10) + ro * g * h(2) * 0.000001
v(1) = ak(1) * Sgn(p(1) - p(7)) * Sqr(Abs(p(1) - p(7)))
v(2) = ak(2) * Sgn(p(2) - p(7)) * Sqr(Abs(p(2) - p(7)))
v(3) = ak(3) * Sgn(p(3) - p(7)) * Sqr(Abs(p(3) - p(7)))
v(4) = ak(4) * Sgn(p(4) - p(7)) * Sqr(Abs(p(4) - p(7)))
v(5) = ak(5) * Sgn(p(5) - p(7)) * Sqr(Abs(p(5) - p(7)))
v(6) = ak(6) * Sgn(p(7) - p(8)) * Sqr(Abs(p(7) - p(8)))
v(7) = ak(7) * Sgn(p(8) - p(6)) * Sqr(Abs(p(8) - p(6)))
pr(1) = (v(1) + v(2) + v(3) + v(4) + v(5) - v(6)) / s(1): pr(2) = (v(6) - v(7)) / s(2)
For j = 1 To 7: vm(j) = v(j) * ro: Next j
With Worksheets("Лист2")
If ki > 0 And ki < 3 Then
If ki = 2 Then
.Cells(ipr, 1) = i: .Cells(ipr, 2) = "p(5-7)": .Cells(ipr, 6) = "vm"
.Cells(ipr, 3) = p(5): .Cells(ipr, 4) = p(6): .Cells(ipr, 5) = p(7)
.Cells(ipr, 7) = vm(1): .Cells(ipr, 8) = vm(2): .Cells(ipr, 9) = vm(3)
.Cells(ipr, 10) = vm(4): .Cells(ipr, 11) = vm(5): ipr = ipr + 1
End If
.Cells(ipr, 2) = "x": .Cells(ipr, 4) = "y(1-2)": .Cells(ipr, 7) = "pr(1-2)"
.Cells(ipr, 3) = x: .Cells(ipr, 5) = y(1): .Cells(ipr, 6) = y(2)
.Cells(ipr, 8) = pr(1): .Cells(ipr, 9) = pr(2): ipr = ipr + 1
End If
If ipr = 180 Then ipr = 1
End With
End Sub
Sub step(x As Single, y() As Single, del As Single, x1 As Single, y1() As Single)
'Шаг интегрирования по X и Y расчет X1 и Y1
Dim y12!(m), j%
Call dydx(x, y, pr)
For j = 1 To m: y12(j) = y(j) + del * pr(j) / 2: Next j
Call dydx(x + del / 2, y12, pr): x1 = x + del
For j = 1 To m: y1(j) = y(j) + del * pr(j): Next j
End Sub
Public Sub gidra()
Dim j%, contr As String
Static x0s!, y0s!(2)
ipr = 1: ipr1 = 1
With Worksheets("Лист1")
hg(1) = .Cells(4, 5): hg(2) = .Cells(5, 5): s(1) = .Cells(4, 9): s(2) = .Cells(5, 9)
ro = .Cells(6, 5): pn = .Cells(6, 9)
' Давление (1-6) /Мпа/
For i = 1 To 6: p(i) = .Cells(8, i + 4): Next i
' Коэф. пpопускной способности (1-7)
For i = 1 To 7: ak(i) = .Cells(9, i + 4): Next i
' Начальные условия x0,y0(1),y0(2)
x0 = .Cells(10, 5): y0(1) = .Cells(10, 6): y0(2) = .Cells(10, 7)
If culc = 4 Then x0 = x0s: y0(1) = y0s(1): y0(2) = y0s(2)
'Число шагов, шаг, кратность вывода
n = .Cells(11, 5): del = .Cells(11, 6): kv = .Cells(11, 7)
' Относительная локальная погpешность ( % ) и Кpатность шагов на вывод
ki1 = .Cells(12, 5): ki2 = .Cells(13, 5)
End With
Worksheets("Лист2").Activate
Cells.Select
Selection.Clear
Range("a1").Select
Worksheets("Лист3").Activate
Cells.Select
Selection.Clear
Range("a1").Select
For i = 1 To n
ki = ki1: Call step(x0, y0, del, x1, y1): x0 = x1: x0s = x0
For j = 1 To m: y0(j) = y1(j): y0s(j) = y0(j): Next j
If (i \ kv) = (i / kv) Then
If ki2 = 1 Then
If ipr1 = 1 Then
Worksheets("Лист3").Cells(ipr1, 1) = "x0"
Worksheets("Лист3").Cells(ipr1, 2) = "y0(1)"
Worksheets("Лист3").Cells(ipr1, 3) = "y0(2)": ipr1 = ipr1 + 1
End If
Worksheets("Лист3").Cells(ipr1, 1) = x0
Worksheets("Лист3").Cells(ipr1, 2) = y0(1)
Worksheets("Лист3").Cells(ipr1, 3) = y0(2)
ipr1 = ipr1 + 1
End If
If ki2 = 2 Then ki = ki2: Call dydx(x0, y0, pr)
End If
Next i
End Sub
Исследование динамических характеристик гидравлической системы |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
Изменения высот жидкости в емкостях 1 и 2 в зависимости от времени |
|||||||||||||
|
|
|
|
при их заполнении |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
t |
H1 |
H2 |
|
|
|
|
|
|
|
|
||||
100 |
7,914976 |
4,015484 |
|
|
|
|
|
|
|
|
||||
200 |
14,16279 |
5,980472 |
|
|
|
|
|
|
|
|
||||
300 |
14,37382 |
6,163493 |
|
|
|
|
|
|
|
|
||||
400 |
14,37386 |
6,176462 |
|
|
|
|
|
|
|
|
||||
500 |
14,37386 |
6,177369 |
|
|
|
|
|
|
|
|
||||
600 |
14,37386 |
6,177429 |
|
|
|
|
|
|
|
|
||||
700 |
14,37386 |
6,177429 |
|
|
|
|
|
|
|
|
||||
800 |
14,37386 |
6,177429 |
|
|
|
|
|
|
|
|
||||
900 |
14,37386 |
6,177429 |
|
|
|
|
|
|
|
|
||||
1000 |
14,37386 |
6,177429 |
|
|
|
|
|
|
|
|
||||
Начальные условия |
|
|
|
|
|
|
|
|
||||||
t=0 |
H1=0.0м |
H2=0.0м |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Геометрические размеры цилиндрических емкостей |
|
|||||||||
|
|
|
|
|
|
HG1=15м |
HG2=10м |
|
|
|
||||
|
|
|
|
|
|
S1=1м2 |
S2=1м2 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
Изменения высот жидкости в емкостях 1 и 2 в зависимости от времени |
|
|||||||||||||
при возмущениях в системе(H1=10 и H2=9.9) на 1000-ом шаге интегрирования |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
t |
H1 |
H2 |
|
|||||||||||
100 |
14,37269 |
5,845321 |
||||||||||||
200 |
14,37381 |
6,16002 |
||||||||||||
300 |
14,37386 |
6,176221 |
||||||||||||
400 |
14,37386 |
6,177351 |
||||||||||||
500 |
14,37386 |
6,177429 |
||||||||||||
600 |
14,37386 |
6,177429 |
||||||||||||
700 |
14,37386 |
6,177429 |
||||||||||||
800 |
14,37386 |
6,177429 |
||||||||||||
900 |
14,37386 |
6,177429 |
||||||||||||
1000 |
14,37386 |
6,177429 |
||||||||||||
1100 |
14,38918 |
8,636032 |
||||||||||||
1200 |
14,38918 |
8,636032 |
||||||||||||
1300 |
14,38918 |
8,636032 |
||||||||||||
1400 |
14,38918 |
8,636032 |
||||||||||||
1500 |
14,38918 |
8,636032 |
||||||||||||
1600 |
14,38918 |
8,636032 |
||||||||||||
1700 |
14,38918 |
8,636032 |
||||||||||||
1800 |
14,38918 |
8,636032 |
||||||||||||
1900 |
14,38918 |
8,636032 |
||||||||||||
2000 |
14,38918 |
8,636032 |
||||||||||||
Начальные условия |
Геометрические размеры цилиндрических емкостей |
|
|
|||||||||||
t=0 |
H1=14.5м |
H2=1.5м |
|
|
HG1=15м |
HG2=10м |
|
|
|
|
||||
|
|
|
|
|
S1=1м2 |
S2=1м2 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
Изменения высот жидкости в емкостях 1 и 2 в зависимости от времени |
|
|||||||||||||
при аварийном спуске |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||
t |
H1 |
H2 |
|
|||||||||||
100 |
13,30927 |
0,823166 |
||||||||||||
200 |
12,45672 |
0,248914 |
||||||||||||
300 |
11,72626 |
-0,08077 |
||||||||||||
400 |
11,06925 |
-0,23835 |
||||||||||||
500 |
10,46479 |
-0,30909 |
||||||||||||
600 |
9,90121 |
-0,34498 |
||||||||||||
700 |
9,371097 |
-0,36753 |
||||||||||||
800 |
8,869319 |
-0,38413 |
||||||||||||
900 |
8,392185 |
-0,39741 |
||||||||||||
1000 |
7,936933 |
-0,40847 |
||||||||||||
1100 |
7,501435 |
-0,41794 |
||||||||||||
1200 |
7,084003 |
-0,42619 |
||||||||||||
1300 |
6,683281 |
-0,43348 |
||||||||||||
1400 |
6,29815 |
-0,44001 |
||||||||||||
1500 |
5,927683 |
-0,44589 |
||||||||||||
1600 |
5,571089 |
-0,45124 |
||||||||||||
1700 |
5,227701 |
-0,45614 |
||||||||||||
1800 |
4,89694 |
-0,46065 |
||||||||||||
1900 |
4,578306 |
-0,46481 |
||||||||||||
2000 |
4,271359 |
-0,46868 |
||||||||||||
2100 |
3,975716 |
-0,47228 |
|
|
|
|
|
|
|
|
||||
2200 |
3,691035 |
-0,47564 |
Геометрические размеры цилиндрических емкостей |
|
|
|||||||||
2300 |
3,417009 |
-0,47878 |
|
|
HG1=15м |
HG2=10м |
|
|
|
|
||||
2400 |
3,153369 |
-0,48173 |
|
|
S1=1м2 |
S2=1м2 |
|
|
|
|
||||
2500 |
2,899871 |
-0,48449 |
|
|
|
|
|
|
|
|
||||
2600 |
2,656295 |
-0,48709 |
Начальные условия |
|
|
|
|
|
||||||
2700 |
2,422443 |
-0,48954 |
t=0 |
H1=14,5м |
H2=1,5м |
|
|
|
|
|
||||
2800 |
2,198137 |
-0,49184 |
|
|
|
|
|
|
|
|
||||
2900 |
1,983211 |
-0,49401 |
|
|
|
|
|
|
|
|
||||
3000 |
1,777518 |
-0,49606 |
|
|
|
|
|
|
|
|
||||
3100 |
1,580923 |
-0,49798 |
|
|
|
|
|
|
|
|
||||
3200 |
1,393302 |
-0,49979 |
|
|
|
|
|
|
|
|
||||
3300 |
1,214542 |
-0,5015 |
|
|
|
|
|
|
|
|
||||
3400 |
1,04454 |
-0,5031 |
|
|
|
|
|
|
|
|
||||
3500 |
0,883201 |
-0,50461 |
|
|
|
|
|
|
|
|
||||
3600 |
0,730439 |
-0,50602 |
|
|
|
|
|
|
|
|
||||
3700 |
0,586174 |
-0,50734 |
|
|
|
|
|
|
|
|
||||
3800 |
0,450334 |
-0,50857 |
|
|
|
|
|
|
|
|
||||
3900 |
0,322851 |
-0,50972 |
|
|
|
|
|
|
|
|
||||
4000 |
0,203667 |
-0,51078 |
|
|
|
|
|
|
|
|
||||
4100 |
0,092724 |
-0,51177 |
|
|
|
|
|
|
|
|
||||
4200 |
-0,01003 |
-0,51267 |
|
|
|
|
|
|
|
|