Смекни!
smekni.com

Синтез химико- технологической системы (стр. 5 из 6)

В данных обозначениях Х1-начальная температура, Х2-плотность орошения, Х3-объем абсорбера, Y-степень абсорбции данная, YR-степень абсорбции рассчитанная.

2) для температуры:

В данных обозначениях Х1-начальная температура, Х2-плотность орошения, Х3-объем абсорбера, Y-данная конечная температура, YR- рассчитанная конечная температура.

2.4 Расчет реакторов идеального вытеснения

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

Расчет проводится в одной и той же программе с использованием исходных данных и получаемых результатов. Необходимо учесть, что:

данные, которые мы получили на выходе из 4го реактора, являются входными параметрами для 1го абсорбера;

данные, которые мы получили на выходе из 1го абсорбера, являются входными параметрами для 5го реактора;

данные, которые мы получили на выходе из 5го реактора, являются входными параметрами для 2го абсорбера.

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

Option Explicit

Dim tn As Single

Dim ca0 As Single

Dim cb0 As Single

Dim cc0 As Single

Dim vr As Single

Dim g As Single

Dim n As Integer

Dim q As Single

Dim cp As Single

Dim k0 As Single

Dim ea As Single

Dim a0 As Single

Dim b0 As Single

Dim tau As Single

Dim dtau As Single

Dim ca As Single

Dim cb As Single

Dim cc As Single

Dim tk As Single

Dim i As Integer

Dim x As Single

Dim a As Single

Dim d As Single

Dim c As Single

Dim l As Single

Dim k As Single

Dim kr As Single

Dim f2 As Single

Dim r As Single

Private Sub Command1_Click()

End

End Sub

Private Sub Command2_Click()

tn = Val(Text1.Text)

ca0 = Val(Text2.Text)

cb0 = Val(Text3.Text)

cc0 = Val(Text4.Text)

vr = Val(Text5.Text)

g = Val(Text6.Text)

n = Val(Text13.Text)

q = Val(Text7.Text)

cp = Val(Text8.Text)

k0 = Val(Text10.Text)

ea = Val(Text9.Text)

a0 = Val(Text11.Text)

b0 = Val(Text12.Text)

tau = vr * 3600 / g

dtau = tau / n

ca = ca0

tk = tn

For i = 1 To n

x = (ca0 - ca) / ca0

ca = ca0 * (1 - x)

cb = cb0 - ca0 * x

cc = cc0 + ca0 * x

k = k0 * Exp(-ea / 8.31 / (tk + 273.15))

kr = 10 ^ (a0 / (tk + 273.15) - b0)

a = ca + 0.8 * cc

d = kr * ca * Sqr(cb)

c = (cc / d) ^ 2

l = 1 - c

r = k * ca * cb / a * l

ca = ca - r * dtau

f2 = q * r / cp

tk = tk + f2 * dtau

Next i

Text14.Text = CStr(tk)

Text15.Text = CStr(ca)

Text16.Text = CStr(cb)

Text17.Text = CStr(cc)

Text18.Text = CStr(tau)

End Sub

Результаты расчета:

Из полученных результатов нам важны концентрации компонентов, чтобы ввести их в следующий реактор или абсорбер, а так же температуры на выходе (Тi):

Т1=577.06

Т2=514.18

Т3=414.34

Т4=430.73

Т5=411.87

2.5 Расчет абсорберов

По заданию необходимо провести расчет двух абсорберов. Для этого используется программа, написанная в Visual Basic, исходные данные, данные полученные при расчете реакторов и зависимости, полученные по методу Брандона в пункте 3.3.

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

Private Sub Command1_Click()

tn = Val(Text13.Text)

ro = Val(Text14.Text)

vabs = Val(Text15.Text)

tk = 47.44545 * (-0.05320523 * ro + 1.889979) * (-0.03595265 * vabs + 1.890018) * (0.004502005 * tn + 0.1782164)

Text12.Text = CStr(tk)

eta = 83.19818 * (0.03020197 * vabs + 0.2518149) * (0.03027636 * ro + 0.4635413) * (1 / (0.002109864 * tn + 0.6166517))

eta = eta / 100

Text5.Text = CStr(eta)

g0 = Val(Text1.Text)

ca0 = Val(Text2.Text)

cb0 = Val(Text3.Text)

cc0 = Val(Text4.Text)

dltg = g0 * cc0 * eta

g = g0 - dltg

ca = g0 * ca0 / g

cb = g0 * cb0 / g

cc = g0 * (1 - eta) * cc0 / g

w0 = g0 * 0.33

w = g * 0.33

prc = (g0 - g) / g0 * 100

Text6.Text = CStr(ca)

Text7.Text = CStr(cb)

Text8.Text = CStr(cc)

Text9.Text = CStr(g)

Text10.Text = CStr(w0)

Text11.Text = CStr(w)

End Sub

Private Sub Command2_Click()

Unload Me

End Sub

Результаты расчета:

Из результатов расчета первого абсорбера нам необходимо значение расхода на выходе (G) для ввода его в пятый реактор и второй абсорбер, значения водяных эквивалентов на входе (Wн) и на выходе (Wк).

Из результатов расчета обоих реакторов нам необходимы значения температур на выходе (Та1 и Та2).

G=124146.814 м3/час

Wн=43.56

Wк=40.97

Та1=43.34

Та2=38.91

2.6 Синтез оптимальных систем теплообмена

Для расчета используется программа, написанная в Visual Basic, исходные данные, приведенные в таблице ниже.

Исходные данные для проектирования тепловой системы:

Холодные потоки

Горячие потоки

исходного потока

Начальная температура

ºС

Конечная темпера тура ºС

Значение водяного эквивалента, кВт/ºС

исходного потока

Начальная температура

ºС

Конечная темпера тура ºС

Значение водяного эквивалента, кВт/ºС

1

50

415

43,56

1

577,06

485

43,56

2

414,34

425

43,56

2

514,18

410

43,56

3

43,34

405

40,97

3

430,73

180

43,56

4

411,87

195

40,97

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

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 поток, так как необходимо было выбрать для теплообмена горячий поток с наиболее высокой температурой на входе и холодный поток с наиболее высокой температурой на выходе из теплообменника.