Математическое моделирование процесса абсорбции

Автор работы: Пользователь скрыл имя, 24 Мая 2012 в 00:44, практическая работа

Описание работы

Абсорбцией называют процесс поглощения газов или паров из газовых или парогазовых смесей жидкими поглотителями (абсорбентами).
При физической абсорбции поглощаемый газ (абсорбтив) не взаимодействует химически с абсорбентом. Если же абсорбтив образует с абсорбентом химическое соединение, то процесс называется хемосорбцией.
Физическая абсорбция в большинстве случаев обратима. На этом свойстве абсорбционных процессов основано выделение поглощенного газа из раствора — десорбция.

Содержание работы

Введение 3
Теоретическая часть 4
Постановка задачи, цель работы 7
Текст программы 8
Результаты расчета 10
Выводы 11

Файлы: 1 файл

домашка.docx

— 175.90 Кб (Скачать файл)

Состав сухого газа , .

  1. Количество «тощего» абсорбента ,

 количество насыщенного абсорбента .

Концентрация компонентов в  насыщенном абсорбенте

  1. Итерационно (например, методом дихотомии) из теплового баланса

определяют температуру насыщенного  абсорбента .

  1. Уточненная средняя температура

Если  , то , корректируют и переходят к п.3 для повтора расчетов.

  1. Вывод результатов расчета.

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

 

 

 

3. Постановка задачи, цель работы.

Постановка  задачи: рассчитать процесс абсорбции в многоступенчатом абсорбере.

Цель: определить:

  1. V1,y1i расход и состав сухого газа;
  2. LN,xNi - расход и состав насыщенного абсорбента;
  3. L0 - расход «тощего» абсорбента;

Исходные  данные для расчета:

Таблица 1 – Вариант задания.

Номер варианта

Число ступеней контакта

Давление,

ата

Расход газа , т/ч

Температура газа, 0С

Температура абсорбента, 0С

6

3,6

22

10

15

6

 

Таблица 2 – Коэффициенты для расчета физико-химических свойств компонентов

Компонент

А

В

С

а

в

с

Метан

2.438

0.855

2.592

1399.602

8.485

0.00782

698.541

10.905

0.00501

Этан

2.495

108.540

102.200

2115.061

15.619

0.00638

169.240

28.674

-0.04393

Пропан

2.704

274.715

150.589

3991.663

5.299

0.07077

-215.022

40.677

-0.03871

i-Бутан

2.874

414.218

172.899

5011.322

9.103

0.07095

-126.885

36.441

0.02808

п-Бутан

2.935

473.069

182.325

5616.250

9.998

0.05589

-117.008

36.541

0.04291

i-Пентан

3.063

599.784

190.495

6393.811

24.096

0.01227

101.263

33.529

0.09193

п-Пентан

3.102

633.990

191.123

6736.866

30.801

-0.03274

143.679

32.234

0.10227

Гексан

3.347

829.154

201.178

7799.976

37.234

-0.00412

-49.278

45.860

0.05163

Гептан

3.591

1030.474

213.433

9039.407

40.364

0.01949

2.964

49.788

0.06494

 

Таблица 3 –  Состав исходного жирного газа и  тощего абсорбента, % масс.

Компонент

Состав, % масс.

 

Исходный газ

абсорбент

Метан

60.9

-

Этан

6.5

-

Пропан

14.0

0.3

i-Бутан

4.4

0.7

п-Бутан

8.1

2.7

i-Пентан

2.1

1.6

п-Пентан

2.5

5.8

Гексан

1.5

19.1

Гептан

-

69.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Текст программы.

program ABS6;

   uses crt;

   const

     a : array[1..9] of real = (2.438,2.495,2.704,2.874,2.935,3.063,3.102,3.347,3.591);

     b : array[1..9] of real = (0.855,108.54,274.715,414.218,472.069,599.784,633.99,829.154,1030.474);

     c : array[1..9] of real = (2.592,102.2,150.589,172.899,182.325,190.495,191.123,201.178,213.433);

     ap : array[1..9] of real = (1399.602,2115.061,3991.663,5011.322,5616.250,6393.811,6736.966,7799.976,9039.407);

     bp : array[1..9] of real = (8.485,15.619,5.299,9.103,9.998,24.096,30.801,37.234,40.364);

     cp : array[1..9] of real = (0.00782,0.00638,0.07077,0.07095,0.05589,0.01227,-0.03274,-0.00412,0.01949);

     ag : array[1..9] of real = (698.541,169.240,-215.022,-126.885,-117.008,101.263,143.679,-49.278,2.964);

     bg : array[1..9] of real = (10.905,28.674,40.677,36.441,36.541,33.529,32.234,45.860,49.788);

     cg : array[1..9] of real = (0.00501,-0.04393,-0.03871,0.02808,0.04291,0.09193,0.10227,0.05163,0.06494);

     m : array[1..9] of real = (16,30,44,58,58,72,72,86.2,100.2);

     yyn1 : array[1..9] of real = (0.609,0.065,0.14,0.044,0.081,0.021,0.025,0.015,0);

     xx0 : array[1..9] of real = (0,0,0.003,0.007,0.027,0.016,0.058,0.191,0.698);

   var

     v1, l0, vn1, l_n, n, p, id, s1, s2, s3, tl0, tvn1, tv1, tln, tcp, tcp0 : real;

     w, i, k : integer;

     x, xa, xb, fa, f, sum, hln, hl0, hv1, hvn1, ql0, qv1, qvn1, qln, q0 : real;

     kr, yn1, x0, y1, xn, yy1, xxn, fi, af, dln, v11, l00, vn11, lnn : array[1..9] of real;

     ss1, ss2, ss3, ss4, vvn1, vv1, ll0, lln : real;

   begin clrscr;

     p := 10;

     n := 4;

     tl0 := 6;

     tvn1 := 15;

     vvn1 := 10;

     q0 := 10000;

     ss1 := 0;

     ss2 := 0;

   for i := 1 to 9 do begin

     ss1 := ss1 + yyn1[i]/m[i];

     ss2 := ss2 + xx0[i]/m[i];

                      end;

   for i := 1 to 9 do begin

     yn1[i] := yyn1[i]/ss1/m[i];

     x0[i] := xx0[i]/ss2/m[i];

                      end;

   vn1 := vvn1*1000*ss1;

   tv1 := 25;

   fi[4] := 0.65;

   tcp0 := (tv1 + tvn1)/2;

   repeat

     tv1 := 2*tcp - tvn1;

     tcp0 := tcp;

     w := w + 1;

     for i := 1 to 9 do kr[i] := exp((a[i] - b[i]/(c[i] + tcp0))*ln(10))/p;

     xa := 0.00001;

     xb := 1;

     x := xa;

     fa := (exp((n + 1)*ln(x)) - x)/(exp((n + 1)*ln(x)) - 1) - fi[4];

     repeat

       x := (xa + xb)/2;

       f := (exp((n + 1)*ln(x)) - x)/(exp((n + 1)*ln(x)) - 1) - fi[4];

       if (fa*f) < 0 then xb := x

       else begin

         xa := x;

         fa := f;

            end;

     until abs(f) < 0.0001;

     af[4] := x;

     for i := 1 to 9 do begin

       af[i] := af[4]*kr[4]/kr[i];

       fi[i] := (exp((n + 1)*ln(af[i])) - af[i])/(exp((n + 1)*ln(af[i])) - 1);

                        end;

     for i := 1 to 9 do begin

       dln[i] := vn1*yn1[i]*fi[i];

       sum := sum + dln[i];

       v11[i] := vn1*yn1[i] - dln[i];

                        end;

     v1 := vn1 - sum;

     l0 := af[4]*kr[4]*vn1;

     l_n := l0 + sum;

     for i := 1 to 9 do begin

       y1[i] := v11[i]/v1;

       xn[i] := (l0*x0[i] + dln[i])/l_n;

                        end;

     sum := 0;

     hv1 := 0;

     hl0 := 0;

     hvn1 := 0;

     for i := 1 to 9 do begin

       hv1 := hv1 + y1[i]*(ap[i] + bp[i]*tv1 + cp[i]*tv1*tv1);

       hl0 := hl0 + x0[i]*(ag[i] + bg[i]*tl0 + cg[i]*tl0*tl0);

       hvn1 := hvn1 + yn1[i]*(ap[i] + bp[i]*tvn1 + cp[i]*tvn1*tvn1);

                        end;

     qv1 := v1*hv1;

     ql0 := l0*hl0;

     qvn1 := vn1*hvn1;

     xa := -100;

     xb := 200;

     x := xa;

     hln := 0;

     for i := 1 to 9 do hln := hln + xn[i]*(ag[i] + bg[i]*x + cg[i]*x*x);

     fa := ql0 + qvn1 - qv1 - l_n*hln - q0;

     repeat

       x := (xa + xb)/2;

       hln := 0;

       for i := 1 to 9 do hln := hln + xn[i]*(ag[i] + bg[i]*x + cg[i]*x*x);

       qln := l_n*hln;

       f := ql0 + qvn1 - qv1 - qln - q0;

       if (fa*f) < 0 then xb := x

       else begin

         xa := x;

         fa := f;

            end;

     until abs(f) < 0.01;

     tln := x;

     tcp := (tl0 + tln)/2;

   until abs(tcp0 - tcp) > 0.01;

   ss3 := 0;

   ss4 := 0;

   for i := 1 to 9 do begin

     ss3 := ss3 + y1[i]*m[i];

     ss4 := ss4 + xN[i]*m[i];

                      end;

   for i := 1 to 9 do begin

     yy1[i] := y1[i]*m[i]/ss3;

     xxn[i]:=xN[i]*m[i]/ss4;

                      end;

   vv1 := v1*ss3/1000;

   ll0 := l0/ss2/1000;

   lln := l_n*ss4/1000;

   writeln('  Vn = ',vvn1:1:3,' | L0 = ',ll0:1:3,'  | V1 = ',vv1:1:3,'  | Ln = ',lln:1:3);

   writeln(' TVn = ',tvn1:1:3,' | TL0 = ',tl0:1:3,' | TV1 = ',tv1:1:3,' | TLn = ',tln:1:3);

   writeln(' QVn = ',qvn1:1:3,' | QL0 = ',ql0:1:3,' | QV1 = ',qv1:1:3,' | QLn = ',qln:1:3);

   writeln(' tcp = ', tcp:3:3,' | q = ',q0:3:3);

   writeln;

   writeln(' Komponent\Potok      Vn           L0           V1           Ln     |   fi');

   for i := 1 to 9 do

Информация о работе Математическое моделирование процесса абсорбции