Автор: Пользователь скрыл имя, 11 Апреля 2011 в 11:17, курсовая работа
Методы анализа, синтеза и оптимизации ХТС, реализованные в виде алгоритмов и программ, применяются в системах автоматизированного проектирования химических производств (САПР). Эти системы существенно повышают производительность труда проектировщиков и позволяют значительно улучшить качество проектов. Благодаря САПР ускоряется внедрение в производство технологических разработок.
Введение 5
1. Теоретическая часть 6
1.1 Описание объекта исследования 6
1.2 Постановка задачи оптимизации 6
1.3 Описание метода наименьших квадратов 7
1.4 Описание метода Брандона 9
1.5 Реактор идеального вытеснения 12
1.6 Синтез оптимальных систем теплообмена 13
2. Расчетная часть 17
2.1 Расчет k0 и E в уравнении Аррениуса с использованием метода наименьших квадратов 17
2.2 Расчет зависимости kр(t) с использованием метода наименьших квадратов 20
2.3 Расчет статистической модели абсорбера с использованием метода Брандона 23
2.4 Расчет реакторов идеального вытеснения 33
2.5 Расчет абсорберов 35
2.6 Синтез оптимальных систем теплообмена 36
2.7 Расчет нагревателя 41
3. Выводы 43
Список литературы 44
Приложение
Код программы:
Dim nx As Integer, ng As Integer, n As Integer, n0 As Integer
Dim k As Single, c As Single, dt As Single, k0 As Single
Dim tn() As Single, tk() As Single, w() As Single
Dim tx() As Single, tg() As Single, nomx() As Integer
Dim nomg() As Integer, r() As Single, ne() As Single
Dim st() As Single
Private Sub Command1_Click()
st0 = 0
k = 0
m1:
With MSFlexGrid1
.Cols = 9: .Col = 0: .Row = 0: .Text = "L": .Col = 1: .Text = "х": .Col = 2: .Text = "Tнх"
.Col = 3: .Text = "Tхк": .Col = 4: .Text = "г": .Col = 5: .Text = "Tнг"
.Col = 6: .Text = "Tгк": .Col = 7: .Text = "Q": .Col = 8: .Text = "Стоимость"
l = 0
k = k + 1
For i = 1 To n
If tn(i) < tk(i) Then GoTo m2
For j = 1 To n
If tn(j) > tk(j) Then GoTo m3
tg0 = tn(i): tg1 = tk(i)
tx0 = tn(j): tx1 = tk(j)
a = tg0 - tx0 - dt
If a < 0 Then GoTo m3
If (tg1 - tx0) < dt Then tg1 = tx0 + dt
If (tg0 - tx1) < dt Then tx1 = tg0 - dt
qx = (tx1 - tx0) * w(j)
qg = (tg0 - tg1) * w(i)
q = qx
If qx > qg Then q = qg
If q < 1 Then GoTo m3
tx1 = tx0 + q / w(j)
tg1 = tg0 - q / w(i)
dt1 = tg0 - tx1
dt2 = tg1 - tx0
r0 = Log(dt1 / dt2)
dlt = (dt1 + dt2) / 2
If Abs(r0) > 0.639 Then dlt = (dt1 - dt2) / r0
f = q / k0 / dlt
l = l + 1
st(l) = c * f ^ 0.6
st0 = st0 + st(l)
nomg(l) = i: nomx(l) = j: tg(l) = tg1: tx(l) = tx1
.Rows = l + 1
.Col = 0: .Row = l: .Text = CStr(l)
.Col = 1: .Text = CStr(j): .Col = 2: .Text = CStr(tx0)
.Col = 3: .Text = CStr(tx1): .Col = 4: .Text = CStr(i): .Col = 5: .Text = CStr(tg0)
.Col = 6: .Text = CStr(tg1): .Col = 7: .Text = CStr(q): .Col = 8: .Text = CStr(st(l))
m3:
Next j
m2:
Next i
End With
If l = 0 Then GoTo m4
If ne(k) = 1 Then Label5.Caption = "Выберите вариант теплообмена между потоками i и j для которых начальные температуры максимальны"
If ne(k) = 2 Then Label5.Caption
= "Выберите вариант теплообмена
между потоками, который обеспечивает
максимальное количество
If ne(k) = 3 Then Label5.Caption = "Выберите для теплообмена горячий поток с наиболее высокой температурой на входе и холодный поток с наиболее высокой температурой на выходе из теплообменника"
If ne(k) = 4 Then Label5.Caption = "Выберите для теплообмена холодный поток с наиболее низкой температурой на входе и горячий поток с наиболее низкой температурой на выходе из теплообменника"
If ne(k) = 5 Then Label5.Caption
= "Выберите для теплообмена
пару потоков произвольным
l = CInt(InputBox("Введите номер варианта теплообмена:"))
i = nomg(l): j = nomx(l): tn(i) = tg(l): tn(j) = tx(l)
MSFlexGrid1.Clear
GoTo m1
m4:
Label7.Visible = True: Text4.Text = CStr(st0): Text4.Visible = True
End Sub
Private Sub Form_Load()
Dim S As String, i As Integer
CommonDialog1.Action = 1
S = CommonDialog1.FileName
Open S For Input As #1
Input #1, nx, ng
n = nx + ng
Text1.Text = CStr(nx)
Text2.Text = CStr(ng)
n0 = nx * ng
Input #1, k0, c, dt
ReDim tn(1 To n) As Single, tk(1 To n) As Single, w(1 To n) As Single
ReDim tx(1 To n0) As Single, tg(1 To n0) As Single, nomx(1 To n0) As Integer
ReDim nomg(1 To n0) As Integer, r(1 To n0 + 2) As Single, ne(1 To n0 + 2) As Single
ReDim st(1 To n0) As Single
For i = 1 To n
Input #1, tn(i), tk(i), w(i)
Next i
Close #1
r0 = -100
dr0 = CInt(InputBox("Введите любое число из интервала 1-33:"))
For i = 1 To n0 + 2
r0 = r0 + dr0
r(i) = Rnd(r0)
Next i
Label4.Caption = ""
For i = 1 To n0 + 2
If r(i) >= 0 And r(i) < 0.2 Then ne(i) = 1
If r(i) >= 0.2 And r(i) < 0.4 Then ne(i) = 2
If r(i) >= 0.4 And r(i) < 0.6 Then ne(i) = 3
If r(i) >= 0.6 And r(i) < 0.8 Then ne(i) = 4
If r(i) >= 0.8 And r(i) < 1 Then ne(i) = 5
Label4.Caption = Label4.Caption + CStr(ne(i)) + " "
Next i
End Sub
Результаты
расчета:
Таблица 1 Таблица пар исходных потоков ( I этап синтеза)
На основании таблицы 1 для теплообмена выбран 8 поток, так как необходимо было выбрать для теплообмена холодный поток с наиболее низкой температурой на входе и горячий поток с наиболее низкой температурой на выходе из теплообменника.
Таблица 2 Таблица пар результирующих и исходных потоков (II этап синтеза)
На
основании таблицы 2 для теплообмена
выбран 7 поток, так как необходимо было
выбрать вариант теплообмена между потоками,
который обеспечивает максимальное количество
передаваемого тепла.
Таблица 3 – Таблица пар результирующих и исходных потоков (III этап синтеза)
На
основании таблицы 3 для теплообмена
выбран 2 поток, так как необходимо было
выбрать вариант теплообмена между потоками
i и j, для которых начальные температуры
максимальны.
Таблица 4 – Таблица пар результирующих и исходных потоков (IV этап синтеза)
На
основании таблицы 4 для теплообмена
выбран 2 поток, так как необходимо было
выбрать для теплообмена горячий поток
с наиболее высокой температурой на входе
и холодный поток с наиболее высокой температурой
на выходе из теплообменника.
Таблица 5 – Таблица пар результирующих и исходных потоков (V этап синтеза)
На основании таблицы 5 для теплообмена выбран 2 поток, так как необходимо было выбрать поток произвольным образом.
В результате синтеза системы теплообмена все потоки, кроме 1го холодного, достигли заданной температуры. Следовательно, его необходимо нагреть до нужной температуры, используя нагреватель.
Для
расчета используется программа, написанная
в Visual Basic.
Код программы:
Private Sub Command1_Click()
Dim c As Single, dt As Single, qx As Single
Dim tx1 As Single, tx0 As Single, tg0 As Single
Dim tg1 As Single, Wx As Single, Wr As Single
Dim qg As Single, q As Single, dlt As Single, k0 As Single
Dim st As Single
c = 483: dt = 20: k0 = 0.01745
tg0 = CSng(Text3.Text)
tx0 = CSng(Text1.Text)
tx1 = CSng(Text2.Text)
Wx = CSng(Text6.Text)
Wr = CSng(Text7.Text)
tg1 = tx1 + dt
qx = (tx1 - tx0) * Wx
qg = (tg0 - tg1) * Wr
q = qx
If qx > qg Then q = qg
tx1 = tx0 + q / Wx
tg1 = tg0 - q / Wr: dtl = tg0 - tx1: dt2 = tg1 - tx0
dlt = (dt1 + dt2) / 2
f = q / k0 / dlt
st = c * f ^ 0.6
Text5.Text = CStr(st)
Text4.Text = CStr(tg1)
End Sub
Результаты
расчета:
Тепловая схема будет иметь следующий вид:
577,06
414,34
425
430,73 566,4
514,18
43,34 309,92
396,47 405
180
485
50
253,98
350,129
415
460
195
Общая стоимость данной технологической схемы составляет 1192555.42, которая была получена в результате расчета оптимальных технологических схем (1154145), а также учитывает стоимость нагревателя (38410.42).
В данной курсовой работе были произведены следующие процессы оптимизации:
Выбранная схема теплообмена, состоящая из 5 реакторов и 1 нагревателя, позволяет достичь заданных начальных и конечных температур основных технологических потоков наиболее оптимальным из рассмотренных вариантов.
Таким
образом, рассчитанная в данной курсовой
работе химико-технологическая
Зависимость
константы скорости от температуры
Tº, C | k, 1/c |
400 | 0.4 |
405 | 0.4 |
415 | 0.5 |
435 | 0.6 |
455 | 0.8 |
485 | 1.3 |
505 | 1.6 |
515 | 1.8 |
530 | 2.2 |
575 | 3.5 |
595 | 4.3 |
605 | 4.7 |
615 | 5.2 |
Зависимость
константы равновесия от температуры
Tº, C | kp |
400 | 443 |
420 | 265 |
440 | 112 |
460 | 108 |
480 | 72 |
520 | 35 |
540 | 25 |
560 | 16 |
580 | 12 |
600 | 9.5 |
620 | 7.0 |