Математическое моделирование процесса экстракции
Введение
Процессы химической технологии - это сложные
физико-химические системы, переменные в пространстве и во времени. Участвующие
в них потоки вещества, как правило, многофазные и многокомпонентные.
Имитационное моделирование применяется для решения задач, связанных с
изменением параметров объекта во времени. В связи с этим изменением возможны
такие ситуации, при которых объект или его состояние нас не устраивает.
Имитационное моделирование дает возможность проанализировать различные варианты
и выбрать наиболее подходящий для наших условий.
Описание процесса
Экстракция - извлечение одного или нескольких
растворенных веществ из одной жидкой фазы другой, практически не смешивающейся
с первой.
Процесс широко используется для извлечения
ценных продуктов из разбавленных растворов, а также для получения
концентрированных растворов. Но главное, экстракцию следует рассматривать как
один из основных способов разделения жидких однородных смесей.
Пусть в растворителе G
растворено распределяемое вещество M,
и концентрация раствора (исходной смеси) незначительна. Тогда можно подобрать
другой растворитель L
(экстрагент), которым можно экстрагировать распределяемое вещество M
из исходного раствора и получить концентрированный раствор распределяемого
вещества в растворителе L+M
(экстракт) и очищенный от распределяемого вещества растворитель G
(рафинат).
Полученные жидкие фазы отделяют друг
от друга отстаиванием, иногда центрифугированием или другими способами. После
этого производят извлечение целевых продуктов из экстракта и регенерацию
экстрагента из рафината, для чего используют простую перегонку с водяным паром,
выпаривание, вторичную экстракцию (реэкстракцию), реже - кристаллизацию и
химическую очистку.
Математическое описание модели
Входные
потоки
|
L
|
G
|
F
|
dz
|
k
|
x0[n+1]
|
y0[0]
|
Выходные
потоки
|
x1
|
yn
|
|
|
|
|
|
Исходные данные:
L=0.0001 м3/с; n
= 5;
G=0.001 м3/с; x0[n+1]=0;
k = 5*10-5; y0[0]=0.3.
F=1 м2;=0.1 м;=0.142;=3600 с;
Где L - расход бензола, м3/с;- расход
воды, м3/с;
k - коэффициент
массоотдачи;- площадь поперечного сечения, м2;- высота выделенного
элемента, м;- удерживающая способность;- общее время экстракции, с;- объём
бензола, м3;- объём воды, м3;[n+1] - начальная
концентрация фенола в бензоле, кг/м3;[0] - начальная концентрация
фенола в воде, кг/м3;
n - число отстойных
зон;
J - объёмный
коэффициент массопередачи, с-1;- равновесная концентрация, кг/м3;
x1
- конечная концентрация фенола в бензоле, кг/м3;
yn
- конечная концентрация фенола в воде, кг/м3;
V - объем выбранного
элемента.
Запишем уравнения модели для сечения:
Vb*(dxi/dt) = L*xi+1-L*xi+J, (1)
Vv*(dyi/dt) = G*yi-1-G*yi-J. (2)
Откуда Vb
и Vv находятся по
следующим формулам:
Vb = V* nu,= V*(1- nu),
где V
= dz* F.
А объёмный коэффициент массопередачи равен:
J = k*(xr-x0[i]),
где xr=
y0[i]*18.
Путём несложных вычислений уравнения (1), (2)
приводят к виду и решают получившуюся систему уравнений:
x1[i]=x0[i]+dt*(L*(x0[i+1]-x0[i])+J)/Vb.[i]=y0[i]+dt*(G*(y0[i-1]-y0[i])-J)/Vv.
Алгоритм решения системы уравнений
математического описания состоит в следующем:
. Задаем значения параметров L
= 0.0001, G = 0.001, dz
= 0.1, k = 5*10-5,
nu=0.142.
.Производим интегрирование системы уравнений
методом Эйлера и определяем состав выходного потока y0[i].
. Интегрирование проводим до некоторой
установившейся величины y0[i],
для чего задаем большое значение Tk
= 3600.
Для данной модели приняты следующие допущения:
. растворитель и фаза рафината взаимно
нерастворимы;
. величина объёмного коэффициента массопередачи
постоянна по высоте колонны;
. объёмные скорости растворителя и рафинатной
фазы постоянны по высоте колонны;
. объёмы ячеек идеального смешения одинаковы по
высоте колонны;
. обратное перемешивание в пределах каждой фазы
выражается постоянными коэффициентами обратного перемешивания;
. концентрация каждой фазы постоянна в пределах
каждой ячейки идеального смешения;
. начало отсчёта высоты ведется со стороны входа
фазы рафината.
Этапы имитационного исследования
модели
1. Строится традиционная модель объекта.
2. Изучаются диапазоны, вероятности,
характер, частота, изменение входных переменных.
. Конструируется генератор случайных
чисел (разрабатывается программа), соответствующая реальным входным
воздействиям.
. Определяется (задается) интересующее
нас ключевое событие (хорошо-плохо).
. Проводится многократное моделирование:
а) генерируются входные данные;
б) проводится расчет;
в) выясняется наступило ли интересующее событие.
. Вычисляется оценка вероятности наступления
события
,
где n - общее
количество испытаний; nA - количество
произошедших событий.
Исследование модели
Расход поступающей воды непостоянен и изменяется
по независящим от нас причинам. Для учета этих изменений используем генератор
случайных чисел. Так как средний расход воды равен 0,001 м3/с
генерирование производим в пределах от 0,0007 м3/с до 0,0013 м3/с.
0,0007
|
0,00072
|
0,00079
|
0,00081
|
0,00082
|
0,00081
|
0,0008
|
0,00082
|
0,00081
|
0,00096
|
0,00095
|
0,00088
|
0,00091
|
0,00096
|
0,00093
|
0,00094
|
0,00095
|
0,00098
|
0,00099
|
0,001
|
0,00101
|
0,00102
|
0,00101
|
0,00104
|
0,00109
|
0,0011
|
0,0013
|
0,0016
|
0,00122
|
Значение расхода имеет нормальное распределение
и характеризуется минимальным и максимальным значениями 0,0007 м/с и 0,00122
м/с соответственно, а также математическим ожиданием - 0,00098 и дисперсией -
0,00089. По полученным данным построим гистограмму распределения случайных
величин:
При нормальном законе распределения расхода воды
генерирование производим следующим образом:
double xn(double m, double s, double
min, double max)
{i;xr,x,sum;: for(i=0,
sum=0;i<6;i++)+=(double)rand()/RAND_MAX;=sqrt(2)*s*(sum-3)+m;(x<min||x>max)
goto m;
return x;
}
Результаты анализа
На приведенных ниже графиках используются
следующие обозначения:
P1 - вероятность
неудовлетворительной степени очистки воды;
График зависимости неудовлетворительной работы
аппарата от расхода бензола
Данная зависимость построена при
числе тарелок равном 5. Она показывает, что с увеличением расхода бензола
степень извлечения бензола увеличивается. Это объясняется тем, что
увеличивается площадь поверхности контакта фаз. А с уменьшением расхода бензола
ситуация меняется на противоположную.
экстракция имитационный
математический бензол
График зависимости
неудовлетворительной работы аппарата от числа тарелок
Данная зависимость построена при
минимальном расходе бензола равном 0,0001м3/с. Она показывает, что с
увеличением числа тарелок в аппарате, а следовательно и высоты аппарата,
степень очистки воды повышается. Наиболее оптимальное число тарелок при данном
расходе бензола равно 6.
Список литературы
1. Кафаров В.В., Глебов М.Б.
Математическое моделирование основных процессов химических производств: Учеб.
пособие для вузов. - М.: Высш. шк., 1991. - 400с.: ил.
. Александров И.А. Ректификационные
и абсорбционные аппараты. Методы расчета и основы конструирования. - М.: Химия,
1978.
. Дытнерский Ю.И. Основные процессы
и аппараты химической технологии.
. Плановский А.Н., Николаев П.И.
Процессы и аппараты химической и нефтехимической технологии. - М.: Химия, 1972.
- 496с.
Приложение
Исходная математическая модель:
#include
<conio.h>
#include <stdio.h>
#include <math.h>
#define n 5main()
{ int
i;L=0.0001,G=0.001,k=5e-5,F=1,dz=0.1,nu=0.142,Tk=3600,h,dt,V,Vb,Vv,m,xr,J;x1[n+2],x0[n+2]={0,0,0,0,0,0,0};y1[n+2],y0[n+2]={0,0,0,0,0,0,0};();[n+1]=0;[0]=0.3;=F*dz;=V*nu;=V*(1-nu);=10;=Tk/dt;(m=0;m<h;m++)
{(i=1;i<n+1;i++)
{ xr=
y0[i]*18;=k*(xr-x0[i]);[i]=x0[i]+dt*(L*(x0[i+1]-x0[i])+J)/Vb;[i]=y0[i]+dt*(G*(y0[i-1]-y0[i])-J)/Vv;
}(i=1;i<n+1;i++)
{[i]=x1[i];
y0[i]=y1[i];("\n%d %lf
%lf",i,x0[i],y0[i]);
} printf("\n\n");();
}return 0;
}
Имитационная модель:
#include
<conio.h>
#include <stdio.h>
#include <math.h>
# include <stdlib.h>
#define n 5xn(double m, double s,
double min, double max)
}main()
{ int
i,N=10000,l,n1,n2;L=0.0001,G,k=5e-5,F=1,dz=0.1,nu=0.142,Tk=3600,h,dt,V,Vb,Vv,m,xr,J,P1;x1[n+2],x0[n+2]={0,0,0,0,0,0,0};y1[n+2],y0[n+2]={0,0,0,0,0,0,0};();
randomize ();=0; n2=0;(l=0;l<N;l++)
{=xn(0.001,0.0001,0.0007,0.0013);[n+1]=0;[0]=0.3;=F*dz;=V*nu;=V*(1-nu);=10;=Tk/dt;(m=0;m<h;m++)
{(i=1;i<n+1;i++)
{ xr=
y0[i]*18;=k*(xr-x0[i]);[i]=x0[i]+dt*(L*(x0[i+1]-x0[i])+J)/Vb;[i]=y0[i]+dt*(G*(y0[i-1]-y0[i])-J)/Vv;
}(i=1;i<n+1;i++)
{[i]=x1[i];[i]=y1[i];
}
}
//printf("\n g=%g x1=%g yn=%g
",G,x0[1],y0[n]);getch();(y0[n]>0.05) n1++;
}=(double)n1/N;("\n
P1=%lf", P1);
getch();0;
}