Лабораторные работы / Работа 1 - Вариант 7 - Новикова - Шансков - 2007 / Российский_химико
.docРоссийский химико-технологический университет
имени Д. И. Менделеева
Кафедра информатики и компьютерного моделирования
Отчет по лабораторной работе № 1
«Компьютерное моделирование простой гидравлической системы в стационарном режиме»
Вариант № 7
Выполнил студент группы О-34(Э-31)
(Несоответствие в учебных планах)
Шансков Олег.
Преподаватель: Новикова Д. К.
Москва2007
Схема гидравлической системы:
Известные величины:
Давления на входе и выходе системы: P1 - P6;
Коэффициенты сужающих устройств: k1 - k7;
Геометрические высоты емкостей: H1, H2.
Неизвестные величины:
Высоты столбов жидкости в емкостях: h1, h2;
Давления жидкости на дно сосуда: P7, P8;
Давления газа над жидкостью: P9, P10;
Расходы жидкости v1 - v7.
Основные допущения, накладываемые на модель:
1) Система работает в стационарном режиме;
2) Рассматривается только гидравлика процесса;
3) Сопротивление трения потоку пренебрежимо мало;
4) Жидкость несжимаема и имеет постоянную плотность;
5) Газ - идеальный pV=nRT;
6) Режим - изотермический T=const;
7) Трубопроводы находятся на одном уровне;
8) Цилиндрическая форма закрытой емкости с площадью поперечного сечения
S и геометрической высотой H;
9) Одинаковое давление газа Pн в емкостях, не заполненных жидкостью;
Система уравнений математического описания:
A) Уравнения расходов жидкости через клапаны:
1. v1 = k1 (p1 - p7)1/2
2. v2 = k2 (p2 – p8) 1/2
3. v3 = k3 (p7 – p3) 1/2
4. v4 = k4 (p8 - p4) 1/2
5. v5 = k5 (p8 - p5) 1/2
6. v6 = k6 (p8 - p6) 1/2
7. v7 = k7 (p7 - p8) 1/2
В) Определение давлений жидкости и газа в емкостях:
8. p7 = p9 + ρ g h1
9. p9 = Pн * H1 / (H1 - h1)
10. p8 = p10 + ρ g h2
11. p10 = Pн *H2 / (H2 - h2)
С) Уравнения балансов емкостей:
12. v1 - v3 - v7 =0
13. v4 + v5 + v6 - v2 - v7 =0
Информационная матрица системы уравнений:
N п/п |
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
v7 |
p7 |
p8 |
p9 |
p10 |
h1 |
h2 |
N |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Блок-схема алгоритма расчета:
Исходные данные:
Программа:
Option Explicit
Option Base 1
Const np% = 10, nk% = 7, nv% = 13
Dim vm!(nk), v!(nk), ak!(nk), p!(np), hg!(2), h!(2)
Dim a!, b!, c!, e!, ro!, pn!, g!, x!
Dim i%, kl%, ipr%
Dim bu As Boolean
Public Sub stat()
ipr = 1
With Worksheets("Лист1")
'высота емкостей (1-2) m
hg(1) = .Cells(4, 5)
hg(2) = .Cells(5, 5)
'плотность (кг/m3)
ro = .Cells(6, 5)
'начальное давление (МПа)
pn = .Cells(6, 9)
'давление (1-6) (МПА)
For i = 1 To 6
p(i) = .Cells(8, i + 4)
Next i
'коэффициент пропускной способности (1-7)
For i = 1 To 7
ak(i) = .Cells(9, i + 4)
Next i
'относительная локальная погрешность (%)
e = .Cells(11, 6)
'вывод промежуточных результатов 0-нет, 1-частичный , 2-полный
kl = .Cells(10, 6)
End With
Worksheets("Лист2").Activate
Cells.Select
Selection.Clear
Range("a1").Select
If kl = 2 Then
Cells(ipr, 5) = "Промежуточный вывод"
ipr = ipr + 1
Cells(ipr, 5) = "h"
Cells(ipr, 6) = "p(7-10)"
Cells(ipr, 7) = "vm"
ipr = ipr + 1
End If
g = 9.815
e = e / 100
a = 0
b = hg(1) * (1 - e)
Call MPD(a, b, e, bu, x)
With Worksheets("Лист2")
If bu Then
a = ro * g * 0.000001
b = p(8) + ro * g * hg(2) * 0.000001
c = (p(8) - pn) * hg(2)
h(2) = (b - Sqr(b * b - 4 * a * c)) / 2 / a
p(10) = pn * hg(2) / (hg(2) - h(2))
For i = 1 To 7
vm(i) = v(i) * ro
Next i
.Cells(1, 1) = "РЕЗУЛЬТАТ"
.Cells(2, 1) = "h"
.Cells(2, 2) = "p(7-10)"
.Cells(2, 3) = "vm"
.Cells(3, 1) = h(1)
.Cells(3, 2) = p(7)
.Cells(3, 3) = vm(1)
.Cells(4, 1) = h(2)
.Cells(4, 2) = p(8)
.Cells(4, 3) = vm(2)
.Cells(5, 2) = p(9)
.Cells(5, 3) = vm(3)
.Cells(6, 2) = p(10)
.Cells(6, 3) = vm(4)
.Cells(7, 3) = vm(5)
.Cells(8, 3) = vm(6)
.Cells(9, 3) = vm(7)
Else
kl = 2
.Cells(1, 1) = "РЕШЕНИЯ НЕТ"
.Cells(2, 1) = "a"
.Cells(2, 2) = "f(a)"
.Cells(2, 3) = "b"
.Cells(2, 4) = "f(b)"
.Cells(3, 1) = a
.Cells(ipr, 5) = "промежуточный вывод a"
ipr = ipr + 1
.Cells(ipr, 5) = "h"
.Cells(ipr, 6) = "p(7-10)"
.Cells(ipr, 7) = "vm"
ipr = ipr + 1
.Cells(3, 2) = FUNC(a)
.Cells(3, 3) = b
.Cells(1, 5) = "промежуточный вывод b"
ipr = ipr + 1
.Cells(2, 5) = "h"
.Cells(2, 6) = "p(7-10)"
.Cells(2, 7) = "vm"
ipr = ipr + 1
.Cells(3, 4) = FUNC(b)
End If
End With
End Sub
Function FUNC(x!) As Single
Dim vm!(7), fx!
h(1) = x
p(9) = pn * hg(1) / (hg(1) - h(1))
p(7) = p(9) + ro * g * h(1) * 0.000001
v(1) = ak(1) * Sgn(p(1) - p(7)) * Sqr(Abs(p(1) - p(7)))
v(3) = ak(3) * Sgn(p(7) - p(3)) * Sqr(Abs(p(7) - p(3)))
v(7) = v(1) - v(3)
p(8) = p(7) - Sgn(v(7)) * (v(7) / ak(7)) ^ 2
v(2) = ak(2) * Sgn(p(2) - p(8)) * Sqr(Abs(p(2) - p(8)))
v(4) = ak(4) * Sgn(p(8) - p(4)) * Sqr(Abs(p(8) - p(4)))
v(5) = ak(5) * Sgn(p(8) - p(5)) * Sqr(Abs(p(8) - p(5)))
v(6) = ak(6) * Sgn(p(8) - p(6)) * Sqr(Abs(p(8) - p(6)))
fx = (v(2) + v(7) - v(5) - v(4) - v(6)) * ro
For i = 1 To 7
vm(i) = v(i) * ro
Next i
If kl = 0 Then GoTo 400
If kl = 1 Then GoTo 300
Cells(ipr, 5) = h(1)
Cells(ipr, 6) = p(7)
Cells(ipr, 7) = vm(1)
ipr = ipr + 1
Cells(ipr, 6) = p(8)
Cells(ipr, 7) = vm(2)
ipr = ipr + 1
Cells(ipr, 6) = p(9)
Cells(ipr, 7) = vm(3)
ipr = ipr + 1
Cells(ipr, 6) = p(10)
Cells(ipr, 7) = vm(4)
ipr = ipr + 1
Cells(ipr, 7) = vm(5)
ipr = ipr + 1
Cells(ipr, 7) = vm(6)
ipr = ipr + 1
Cells(ipr, 7) = vm(7)
ipr = ipr + 1
300: Cells(ipr, 5) = "x="
Cells(ipr, 6) = x
Cells(ipr, 7) = "fx="
Cells(ipr, 8) = fx
ipr = ipr + 1
400: FUNC = fx
End Function
Sub MPD(a!, b!, eps!, bu As Boolean, xcon!)
Dim fa!, fb!, x!, fx!
fa = FUNC(a)
fb = FUNC(b)
If fa * fb > 0 Then: bu = False: GoTo 100
Do
x = (a + b) / 2: fx = FUNC(x)
If fx * fa < 0 Then b = x Else a = x
Loop While Abs(a - b) > eps
xcon = Abs(a + b) / 2: bu = True
100:
End Sub
Sub auto_open()
Worksheets("Лист1").Activate
End Sub
Результат:
Графики
1)
P1 |
h1 |
h2 |
2 |
2,113850832 |
3,462860823 |
4 |
2,144581556 |
3,516852856 |
6 |
2,167995691 |
3,557845116 |
2)
p1 |
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
v7 |
2 |
1,28090167 |
3,23135376 |
0,798225 |
4,868987 |
-0,40365 |
-0,75029 |
0,482676 |
4 |
1,904795408 |
3,227043867 |
0,828866 |
5,353087 |
-0,33682 |
-0,71655 |
1,07593 |
6 |
2,3702631 |
3,223561287 |
0,852887 |
5,713971 |
-0,27112 |
-0,68812 |
1,517376 |
3)
p1 |
p7 |
p8 |
p9 |
p10 |
2 |
0,359290898 |
0,359267592 |
0,338543 |
0,32528 |
4 |
0,371754616 |
0,371638864 |
0,350706 |
0,337121 |
6 |
0,381853938 |
0,381623685 |
0,360575 |
0,346703 |
4)
k7 |
h1 |
h2 |
0,05 |
2,14604497 |
3,517988205 |
0,1 |
2,144581556 |
3,516852856 |
0,15 |
2,144581556 |
3,517123938 |
5)
k7 |
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
v7 |
0,05 |
1,904633999 |
3,226950169 |
0,830349 |
5,363145 |
-0,33521 |
-0,7158 |
1,074285 |
0,1 |
1,904795408 |
3,227043867 |
0,828866 |
5,353087 |
-0,33682 |
-0,71655 |
1,07593 |
0,15 |
1,904795408 |
3,227021456 |
0,828866 |
5,355489 |
-0,33643 |
-0,71637 |
1,07593 |
6)
k7 |
p7 |
p8 |
p9 |
p10 |
0,05 |
0,372369975 |
0,371908337 |
0,351307 |
0,337379 |
0,1 |
0,371754616 |
0,371638864 |
0,350706 |
0,337121 |
0,15 |
0,371754616 |
0,371703178 |
0,350706 |
0,337183 |
7)
H1 |
h1 |
h2 |
1,5 |
1,085095406 |
3,518641949 |
3 |
2,144581556 |
3,516852856 |
4,5 |
3,179008007 |
3,517276525 |
8)
H1 |
p7 |
p8 |
p9 |
p10 |
1,5 |
0,372179121 |
0,372063607 |
0,361529 |
0,337528 |
3 |
0,371754616 |
0,371638864 |
0,350706 |
0,337121 |
4,5 |
0,37185505 |
0,371739358 |
0,340653 |
0,337217 |
9)
H1 |
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
v7 |
1,5 |
1,904683948 |
3,226895809 |
0,829889 |
5,368933 |
-0,33428 |
-0,71536 |
1,074794 |
3 |
1,904795408 |
3,227043867 |
0,828866 |
5,353087 |
-0,33682 |
-0,71655 |
1,07593 |
4,5 |
1,904769063 |
3,227009058 |
0,829108 |
5,35684 |
-0,33622 |
-0,71627 |
1,075661 |
Вывод
В ходе проделанной работы построена математическая модель, информационная матрица, блок-схема, составлена программа, проведены расчеты, построены необходимые графики.
По результатам сделан вывод о применимости построенной модели для расчета данной системы.