- •Компьютерное моделирование простой гидравлической системы в динамического режиме
- •Раздел 1. Задание направления движения потоков и обозначений для варианта 33 простой гидравлической системы.
- •Раздел 2. Составление системы уравнений математического описания для варианта 33 простой гидравлической системы.
- •Раздел 3. Составление информационной матрицы системы уравнений математического описания варианта 33 простой гидравлической системы.
- •Раздел 4. Составление блок-схемы алгоритма расчёта варианта 33 динамического режима простой гидравлической системы.
- •Раздел 5. Написание (изменение) компьютерной программы для расчёта варианта 33 динамического режима простой гидравлической системы.
- •Раздел 7. Выводы по выполненной работе.
Практическая работа №1
по курсу
«Компьютерное моделирование химических процессов»
Компьютерное моделирование простой гидравлической системы в динамического режиме
Группа: Ф34___________
Фамилия И.О.: Саленек А. А.__
Вариант № 33____________
Преподаватель: Новикова Д. К.
Раздел 1. Задание направления движения потоков и обозначений для варианта 33 простой гидравлической системы.
допущения:
- во всех трубах протекает однофазный поток жидкости, температура которого одинакова на всех участках;
- все трубы располагаются на одном уровне, в системе нет обратных потоков (рециклов), не учитываются местные сопротивления и перепады давлений в трубах, т.е. рассматриваются, т.н. короткие трубопроводы;
- системы включают только клапаны (вентили) с постоянными неизменяющимися коэффициентами пропускной способности и закрытые емкости (аккумуляторы), давление газа в которых подчиняется идеальным законам.
Раздел 2. Составление системы уравнений математического описания для варианта 33 простой гидравлической системы.
А) Уравнения для определения скорости потоков жидкости через клапаны:
1)
2)
3)
4)
5)
6)
В) Запишем дифференциальные уравнения, отражающие изменения уровней жидкости в емкостях:
7)
8)
C) Начальные условия для уравнений (7) и (8):
9)
10)
D) Уравнения для определения давлений жидкости в закрытых емкостях:
11)
12)
13)
14)
Представим дифференциальные уравнения в конечно-разностной форме в следующем виде:
(7*)
(8*)
Где i=0…..k (k-число шагов интегрирования)
Комментарии по составу системы и виду уравнений:
- входной параметр
, , , - выходные параметры
- технические параметры
- конструкционные параметры
- точность расчета
В качестве определяемых выбираются следующие переменные:
,, ,
Раздел 3. Составление информационной матрицы системы уравнений математического описания варианта 33 простой гидравлической системы.
Раздел 4. Составление блок-схемы алгоритма расчёта варианта 33 динамического режима простой гидравлической системы.
Раздел 5. Написание (изменение) компьютерной программы для расчёта варианта 33 динамического режима простой гидравлической системы.
Option Explicit
Option Base 1
Const m As Byte = 2 'Количество решаемых ОДУ
Const np% = 9, nk% = 6, g! = 9.815, rn = 25
' rn - расход насоса [кг/с]. Используется при моделировании возмущения в простой гидравлической системе
Public del! 'øàã
Private y0!(m), x0! 'Начальные условия
Private n% 'Число шагов
Private kv% 'Кратность вывода
Private x1!, y1!(m), 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%, i%
' Используем стандартную функцию sgn(a), которая возвращает (-1)a<0 (1)a>0 (0)a=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(8) = pn * hg(1) / (hg(1) - h(1))
p(9) = pn * hg(2) / (hg(2) - h(2))
p(6) = p(8) + ro * g * h(1)
p(7) = p(9) + ro * g * h(2)
v(1) = ak(1) * Sgn(p(1) - p(6)) * Sqr(Abs(p(1) - p(6)))
v(2) = ak(2) * Sgn(p(7) - p(2)) * Sqr(Abs(p(7) - p(2)))
v(3) = ak(3) * Sgn(p(6) - p(3)) * Sqr(Abs(p(6) - p(3)))
v(4) = ak(4) * Sgn(p(6) - p(4)) * Sqr(Abs(p(6) - p(4)))
v(5) = ak(5) * Sgn(p(6) - p(5)) * Sqr(Abs(p(6) - p(5)))
v(6) = ak(6) * Sgn(p(6) - p(7)) * Sqr(Abs(p(6) - p(7)))
pr(1) = (v(1) - v(3) - v(4) - v(5) - v(6)) / s(1)
pr(2) = (v(6) - v(2)) / s(2)
For j = 1 To 6: vm(j) = v(j) * ro: Next j
With Worksheets("Ëèñò3")
If ki > 0 And ki < 3 Then
If ki = 2 Then
.Cells(ipr, 1) = i: .Cells(ipr, 2) = "p(5-7)": .Cells(ipr, 3) = "vm"
.Cells(ipr, 4) = p(6):
.Cells(ipr, 5) = p(7):
.Cells(ipr, 6) = p(8):
.Cells(ipr, 7) = p(9):
.Cells(ipr, 8) = vm(1):
.Cells(ipr, 9) = vm(2):
.Cells(ipr, 10) = vm(3):
.Cells(ipr, 11) = vm(4):
.Cells(ipr, 12) = vm(5):
.Cells(ipr, 13) = vm(6):
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%
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) / 0.000001
' Давление (1-5) [Па]
For i = 1 To 5: p(i) = .Cells(8, i + 4) / 0.000001: Next i
' Коэф. пpопускной способности (1-6)
For i = 1 To 6: ak(i) = .Cells(9, i + 4) * 0.001: Next i
' Начальные условия x0,y0(1),y0(2)
x0 = .Cells(10, 5): y0(1) = .Cells(10, 6): y0(2) = .Cells(10, 7)
' Число шагов, шаг, кратность вывода
n = (.Cells(11, 5) \ 20) * 20: del = .Cells(11, 6): kv = n \ 20
' Режимы вывода данных
ki1 = .Cells(12, 5): ki2 = .Cells(13, 5)
End With
Worksheets("Ëèñò3").Activate
Cells.Select
Selection.Clear
Range("a1").Select
Worksheets("Ëèñò2").Activate
Cells.Select
Selection.Clear
Range("a1").Select
For i = 1 To n
'Возмущение на середине моделируемого интервала времени
If i = n \ 2 + 1 Then ak(5) = ak(1)
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
With Worksheets("Ëèñò2")
If ipr1 = 1 Then
.Cells(ipr1, 1) = "x0"
.Cells(ipr1, 2) = "y0(1)"
.Cells(ipr1, 3) = "y0(2)"
.Cells(ipr1, 4) = "vm(1)"
.Cells(ipr1, 5) = "общ.м.баланс": ipr1 = ipr1 + 1
End If
.Cells(ipr1, 1) = x0
.Cells(ipr1, 2) = y0(1)
.Cells(ipr1, 3) = y0(2)
.Cells(ipr1, 4) = vm(1)
.Cells(ipr1, 5) = vm(6) - vm(2)
ipr1 = ipr1 + 1
End With
End If
If ki2 = 2 Then ki = ki2: Call dydx(x0, y0, pr)
End If
Next i
End Sub
x0 |
y0(1) |
y0(2) |
345 |
8,422174454 |
4,79282093 |
690 |
9,255291939 |
9,239433289 |
1035 |
9,290296555 |
9,474246979 |
1379,9 |
9,290296555 |
9,474246979 |
1724,9 |
9,290296555 |
9,474246979 |
2069,9 |
9,290296555 |
9,474246979 |
2414,8 |
9,290296555 |
9,474246979 |
2759,8 |
9,290296555 |
9,474246979 |
3104,8 |
9,290296555 |
9,474246979 |
3449,8 |
9,290296555 |
9,474246979 |
3794,7 |
9,290296555 |
9,474246979 |
4139,7 |
9,290296555 |
9,474246979 |
4484,7 |
9,290296555 |
9,474246979 |
4829,6 |
9,290296555 |
9,474246979 |
5174,6 |
9,290296555 |
9,474246979 |
5519,6 |
9,290296555 |
9,474246979 |
5864,6 |
9,290296555 |
9,474246979 |
6209,5 |
9,290296555 |
9,474246979 |
6554,5 |
9,290296555 |
9,474246979 |
6899,5 |
9,290296555 |
9,474246979 |
Динамика гидравлической системы |
|||||||||
При загрузке системы рекомендуется прикрыть вентили в линиях связи емкостей (уменьшить коэф. пропускной способности) |
|||||||||
|
|
Высота емкости |
|
|
Площадь основ. Емкости |
|
|||
|
1-ой (метр) = |
10 |
1-ой (метр) = |
1 |
|
||||
|
2-ой (метр) = |
10 |
2-ой (метр) = |
1 |
|
||||
|
Плотность (кг/м^3) = |
1000 |
Нач.давление (Мпа) = |
0,1 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
Давление (1-5) /Мпа/ = |
4 |
2 |
0,11 |
2 |
0,11 |
|
||
Коэф. пpоп. способности (1-6) /10^-3/ = |
0,01 |
0,01 |
0,01 |
0,01 |
0,01 |
0,001 |
|||
Начальные условия x0, y0(1), y0(2) = |
0 |
0 |
0 |
|
|
|
|||
Число шагов, шаг /с/ = |
30000 |
0,23 |
1500 |
|
|
|
|||
Промеж. вывод. 0-нет, 1-частич, 2-полный = |
0 |
|
|
|
|
|
|||
Вывод результата. 0-нет,1-частич,2-полный = |
1 |
|
|
|
|
|
x0 |
y0(1) |
y0(2) |
225 |
6,209883213 |
3,122819662 |
449,99 |
9,16972065 |
6,260247707 |
675,01 |
9,251279831 |
9,10949707 |
900,05 |
9,290266991 |
9,474243164 |
1125,1 |
9,290266991 |
9,474243164 |
1350,1 |
9,290266991 |
9,474243164 |
1575,2 |
9,290266991 |
9,474243164 |
1800,2 |
9,290266991 |
9,474243164 |
2025,2 |
9,290266991 |
9,474243164 |
2250,1 |
8,494345234 |
9,266787862 |
2475 |
7,745324535 |
9,066786259 |
2699,8 |
8,345324546 |
9,266247786 |
2924,7 |
9,045234539 |
9,47424311 |
3149,5 |
9,290266786 |
9,474243452 |
3374,4 |
9,290266786 |
9,474243165 |
3599,2 |
9,290266786 |
9,474243165 |
3824,1 |
9,290266786 |
9,474243165 |
4048,9 |
9,290266786 |
9,474243453 |
4273,8 |
9,290266786 |
9,474243164 |
4498,6 |
9,290266786 |
9,474243165 |
Динамика гидравлической системы |
|||||||||
При загрузке системы рекомендуется прикрыть вентили в линиях связи емкостей (уменьшить коэф. пропускной способности) |
|||||||||
|
|
Высота емкости |
|
|
Площадь основ. Емкости |
|
|||
|
1-ой (метр) = |
10 |
1-ой (метр) = |
1 |
|
||||
|
2-ой (метр) = |
10 |
2-ой (метр) = |
1 |
|
||||
|
Плотность (кг/м^3) = |
1000 |
Нач.давление (Мпа) = |
0,1 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
Давление (1-5) /Мпа/ = |
4 |
2 |
0,11 |
2 |
0,11 |
|
||
Коэф. пpоп. способности (1-6) /10^-3/ = |
0,01 |
0,01 |
0,01 |
0,01 |
0,01 |
0,001 |
|||
Начальные условия x0, y0(1), y0(2) = |
0 |
0 |
0 |
|
|
|
|||
Число шагов, шаг /с/ = |
30000 |
0,15 |
15000 |
|
|
|
|||
Промеж. вывод. 0-нет, 1-частич, 2-полный = |
0 |
|
|
|
|
|
|||
Вывод результата. 0-нет,1-частич,2-полный = |
1 |
|
|
|
|
|