компьютерное моделирование в химии. практическая часть

advertisement
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ В ХИМИИ.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Примеры решения химических задач на компьютере
Попробуем решить простую химическую задачу Составить кинетическую модель необратимой реакции
k
A B

D , если известны:
второго порядка вида
начальные концентрации реагентов СА(0) и СВ(0),
кмоль/м3, константа скорости реакции к, м3/(кмольс).
Получить кинетические зависимости компонентов
реакции в виде графиков функций СА(t), CB(t), CD(t);
определить время 50%-ного превращения компонента А.
Кинетические уравнения имеют вид:
для компонента А  dC A / dt  kCACB ,
для компонента В  dCB / dt  kCACB ,
для компонента D  dCD / dt  kCACB .
Искомые
кинетические зависимости СА(t), CB(t), CD(t) получаем в
виде графиков, по графику СА(t) определяем время
50%ного превращения компонента А.
В описании задания уже приведена модель процесса,
состоящая из трех уравнений, остается добавить уравнение, выражающее изменение времени 𝑡 = 𝑡 + 𝑑𝑡, где dt
стремится к нулю. Согласно принципу вычисления интегралов на ЭВМ (методические указания «Компьютерное
моделирование в естествознании. Часть II. Химия»), имеем
систему уравнений – модель процесса:
dC A  kCACB * dt
dCB  kCACB * dt
t  t  dt .
dC D  kCACB * dt
Для определения концентрации веществ в каждый момент времени, запишем уравнения в другом виде:
1
𝐶𝐴 = ∫ 𝑑𝐶𝐴 + 𝐶𝑜𝑛𝑠𝑡 𝐶𝐵 = ∫ 𝑑𝐶𝐵 + 𝐶𝑜𝑛𝑠𝑡 𝐶𝐷
= ∫ 𝑑𝐶𝐷 + 𝐶𝑜𝑛𝑠𝑡 𝑡 = ∫ 𝑑𝑡 + 𝐶𝑜𝑛𝑠𝑡
. Другими словами, новое значение переменной – есть
прежнее значение плюс его изменение:
𝐶𝐴 = 𝐶𝐴 + 𝑑𝐶𝐴 𝐶𝐵 = 𝐶𝐵 + 𝑑𝐶𝐵 𝐶𝐷 = 𝐶𝐷 + 𝑑𝐶𝐷 t  t  dt
Приходим к простому расчету суммы. Необходимо составить компьютерную программу с использованием данной
модели. Условием работы программы, исходя из условия
задания, будет обращение в нуль либо компонента А, либо
компонента В, т.к. реакция является необратимой.
Пример текста программы, написанной на языке TurboPascal 7, и результатов выполнения программы приводятся ниже.
programchim4;
usescrt, graph;
typemas= array [0..1000] ofreal;
varca0, cb0, cd0, t1, dt, k, dca, cam, cbm, cdm, max, mash:real;
ca, cb, cd,t,a,b,d,o : mas;
gd,gm,i,j,m ,im: integer;
t2:string;
proceduredan(a,b,d,t:mas ); {присвоение начальных данных и вывод на
экран}
var dca,dt:real;
i,j,m:integer;
begin
ca[0]:=ca0; cb[0]:=cb0; cd[0]:=cd0; t[0]:=0;
writeln(ca[i]:8:3,cb[j]:8:3,cd[m]:8:3,t[i]:8:3);
end;
procedure graf(mash:real){(var
ca,cb,cd,t:mas)};{построениеграфическихзависимостей}
var dca,dt:real;
i,j,m:integer;
begin
line(20,460,600,460);
line(20,20,20,460);
{ t[0]:=0;}
2
putpixel(round(20+t[0]), 460-round(ca0), 3);
putpixel(round(20+t[0]), 460-round(cb0), 5);
putpixel(round(20+t[0]), 460-round(cd0), 15);
i:=0; j:=0; m:=0;
repeat
begin
putpixel(20+round(t[i]*640/t1), 460-round(ca[i]*500/mash), 3);
setcolor(3);
outtextxy(400,200,'veshestvo A');
putpixel(20+round(t[i]), 460-round(cb[j]*500/mash), 5);
setcolor(5);
outtextxy(400,220,'veshestvo B');
putpixel(20+round(t[i]), 460-round(cd[m]*500/mash), 15);
setcolor(15);
outtextxy(400,240,'veshestvo D');
i:=i+1; j:=j+1; m:=m+1;
end;
until t[i]=t1;
str(t1,t2);
outtextxy(300,400,concat('vremya reakcii', t2));
end;
functionpmax(varo:mas):real; {определение максимального значения}
var i,im:integer;
max:real;
begin
i:=0; max:=o[i];
for i:=1 to im do
if o[i]>o[i-1] then max:=o[i];
{ writeln(max:8:3);}
pmax:=max;
end;
procedurerasc{(varca,cb,cd,t: mas)}; {расчет значений концентраций и
времени}
var dca,dt,max,mash:real;
i,j,m,im:integer;
begin
ca[0]:=ca0; cb[0]:=cb0; cd[0]:=cd0; i:=1; j:=1; m:=1;
dt:=0.5; t[0]:=0;
repeat
t[i]:=t[i-1]+dt;
dca:=k*ca[i-1]*cb[j-1]*dt;
3
ca[i]:=ca[i-1]-dca;
cb[j]:=cb[j-1]-dca;
cd[m]:=cd[m-1]+dca;
t1:=t[i];
writeln(i,' ',ca[i]:8:3,cb[j]:8:3,cd[m]:8:3,t[i]:8:3);
i:=i+1; j:=j+1; m:=m+1;
if abs(cd[m]-cd[m-1])<=0.001 then break;
until (abs(ca[i]-ca[i-1])<=0.001);
writeln; writeln; readkey;
writeln('vremya reakcii',t1:8:3);
im:=i-1; writeln(im);
cam:=pmax(ca);
cbm:=pmax(cb);
cdm:=pmax(cd);
if cam>cbm then mash:=cam else mash:=cbm;
if cdm>mash then mash:=cdm;
writeln(mash:8:3);
readln;
clrscr;
gd:=detect; gm:=0;
initgraph(gd,gm,'F:\Зоя\диск-Адаменко\FP\BGI');
graf(mash){(ca,cb,cd,t)};
end;
begin{основная программа}
clrscr;
writeln('vvesti nach. konc. ca0, cb0 i const skorosri reakcii k');
readln(ca0,cb0,k);
cd0:=0;
writeln('N ca
cb cd t');
dan(ca,cb,cd,t);
rasc{(ca,cb,cd,t)};
readln;
{clrscr;
gd:=detect; gm:=0;
initgraph(gd,gm,'F:\путькфайлу’);
i:=0;
graf(ca,cb,cd,t); }
readkey;
closegraph; end.
4
Рис. 1 Таблица результатов расчета концентраций исходных веществ
А, В и продуктов реакции D от времени.
5
Рис. 2 Графические зависимости A(t), B(t), D(t).
Рассмотрим другой пример - необходимо получить
модели простой необратимой реакции первого порядка,
сложной мономолекулярной реакции, протекающей в две
последовательные стадии, сложной обратимой реакции
первого порядка. Получить кинетические кривые для всех
компонентов химических реакций.
 получение модели необратимой реакции первого порядка вида А  В, если известны: начальные концентрации
СА(0), кмоль/м3, СВ(0), кмоль/м3, константа скорости химической реакции при температурах Т1 и Т2.
Требуется
найти для каждой температуры кинетические зависимости
компонентов реакции в виде функций СА(t), СВ(t) и время
50%-ного и 80%-ного превращения компенента А.
Для моделирования запишем кинетичекие уравнения для
компонента А и В
(1)
dC A / dt  kCA
6
(2).
dC B / dt  kCA
Уравнения (1) и (2) представляют систему линейных
уравнений с заданными начальными условиями.
Результаты выводятся в виде таблицы, графиков С(t).
Для сравнения времени 50%го и 80%го превращения
компонента А с теоретическим значением применяют
выражение: ln[ C (t ) / C (0)]  kt .
Принцип решения задачи аналогичен предыдущему. В
тексте задания приведена модель, остается грамотно составить программу. Ниже приводится текст программы,
реализованной в среде Delphi 7(6) и результаты выполнения программы (рис.3-5).
unitUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Button1: TButton;
7
Button2: TButton;
procedure Button1Click(Sender: TObject);{выполнениепрограммы}
procedure Button2Click(Sender: TObject);{очисткаэкрана}
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
k1,k2,dt,c,cc:extended;
c1,c2,t:array [0..5000] of real;
i,j,k,n:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
C1[0]:=strtofloat(Edit1.Text);
C2[0]:=strtofloat(Edit2.Text);
k1:=strtofloat(Edit3.Text);
k2:=strtofloat(Edit4.Text);
dt:=strtofloat(Edit5.Text);
t[0]:=0; i:=0;
repeat
inc(i);
c:=c1[i-1];
cc:=c2[i-1];
c1[i]:=c1[i-1]-k1*c1[i-1]*dt;
c2[i]:=c2[i-1]+k1*c1[i-1]*dt;
t[i]:=t[i-1]+dt;
until (abs((c1[i]-c))<=0.001) or( abs((c2[i]-cc))<=0.001);
edit6.Text:=floattostr(c1[i]);
edit7.Text:=floattostr(c2[i]);
edit8.Text:=floattostr(t[i]);
for j:=0 to i do begin
with Image1.Canvas do
Pixels[round(t[j]*image1.Width/t[i]),image1.Height+10round(c1[j]*image1.Height/c1[0])]:=clred;
with Image1.Canvas do
8
Pixels[round(t[j]*image1.Width/t[i]),image1.Height+10round(c2[j]*image1.Height/c1[0])]:=clblack;
end;
edit6.Text:=floattostr(c1[i]);
edit7.Text:=floattostr(c2[i]);
edit8.Text:=floattostr(t[i]);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
for k:=0 to 405 do
for n:=0 to 331 do
image1.Canvas.Pixels[k,n]:=clwhite;
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
end;end.
Рис. 3 Форма к программе.
9
Рис. 4 Окно программы, ввод данных с клавиатуры.
10
Рис. 5 Окно с результатами выполнения программы: вывод графиковC1(t), C2(t), конечных значений концентраций реагирующих веществ и времени реакции.
Данную задачу можно решить с использованием пакета
Excel, что, конечно, значительно проще по сравнению с
языками программирования. В соответствующий столбец
записывается каждая из формул и средствами Excelпроиз11
водится расчет (рис.6), а затем при помощи диаграммы выводится графики искомых зависимостей (рис.7).
Рис. 6 Рабочее окно Excel, ввод данных
12
Рис. 7 Окно с результатами расчетов.
Для решения инженерных и естественнонаучных задач
предназначен пакет прикладных программ Mathcad. Здесь
не стоит целью подробно изучить Mathcad, а только показана возможность его применения для решения подобных
задач. В файл записываются начальные данные и необходимые параметры, затем записываются все уравнения математической модели, выводятся поля вывода результатов
расчетов и область графиков. При нажатии клавиши enter
выполняется расчет, и, если нет ошибок в программе или
данных, заполняются поля результатов (рис.8) и появляются графические зависимости (рис.9).
13
Рис. 8 Файл Mathcad с программой и результатами расчетов.
14
Рис. 9 Графические зависимости компонентов реакции во времени в
пакете Mathcad.
Пример № 3
Составить модель реакции разложения первого порядка
типа А  В + С, протекающей в адиабатическом режиме с
тепловым
эффектом,
если
известны:
начальные
концентрации
и
температура,
тепловой
эффект,
теплоемкости реагентов, зависимость константы скорости
реакции от температуры, приведенная ниже:
Т, оС ……50
к, ч-1 ……1.4
55
1.6
60
2.2
65
3.0
15
70
4.0
72.5
4.7
78
7.2
84
9.4
Получить временные зависимости концентрации
исходного компонента, концентраций продуктов реакции и
температуры,
построить
зависимость
скорости
превращения реагента А от его концентрации в виде
функции dCA/dt = k(T)CA(t). Математическое описание
химической реакции с тепловым эффектом включает
уравнение материального (кинетические) и теплового
балансов. Кинетическое уравнение для исходного
компонента реакции: dC A / dt  k (T )C A (t ) . Уравнение
теплового баланса при адиабатическом режиме имеет вид:
dC A
dT
, где cV = (cACA + cBCB + cCCC)V. Здесь
cV
 VH
dt
dt
сV – объёмная теплоемкость системы, зависящая от
текущих концентраций компонентов реакции, их
теплоемкостей сi и объема реакционной смеси V. В
качестве упрощающего предположения допустим, что
объемная теплоемкость сV – величина постоянная,
численно равная среднему значению теплоемкостей
отдельных компонентов cV = (cA + cB + cC)/3. Окончательно
дифференциальные уравнения балансов для данной
реакции запишем в виде:
dC A / dt  k (T )C A
dT  k (T )C AVH

dt
cV
(А)
Искомые зависимости концентрации и температуры
реакции от времени получают при интегрировании
системы уравнений (А) (также д/б зависимость к от
времени, полученная на машине).
Если в процессе
реакции выделяется тепло, которое (частично) отводится
16
через стенку реактора при помощи хладагента, то при
составлении уравнений математической модели, кроме
уже приведенных исходных данных, необходимо знать:
коэффициент теплоотдачи через стенку , поверхность
теплообмена S, температуру хладагента Тx. В этом случае
дифференциальное
уравнение
скорости
изменения
температуры реакционной массы имеет вид:
cV
dC A
dT
 VH
 S (Tx  T )
dt
dt
(Б)
Скорость
реакции
описывается
уравнением:
(В). Уравнение (В) подставим в
dC A / dt  k (T )C A
уравнение (Б)
cV
dT
 k (T )C AVH  S (Tx  T )
dt
(Г)
Совместное решение уравнений (Г) и (В) на машине
позволяет изучить химическую реакцию, например, с
выделением тепла при отводе избытка тепла. При этом
можно варьировать S, , температуру хладагента Тx.
Реакцию с тепловым эффектом иногда необходимо
исследовать в условиях постоянной температуры. В этом
случае тепло, выделяемое в ходе химической реакции,
должно полностью отводиться через стенки реактора. При
этом Т=const, следовательно, dT/dt=0, k(t)=const и
уравнение (Г) можно преобразовать к виду:
 k (T )C AVH  S (Tx  T )  0 .
С помощью этого уравнения можно найти закон
программного изменения температуры хладагента, которое
17
обеспечивает постоянство температуры реакционной
массы. Здесь концентрация СА – переменная величина,
поэтому, чтобы равенство не нарушалось, температура Т x
должна
изменяться
по
следующему
закону:
Tx (t )  T  kTVHC A (t ) /( S ). Теперь получаем закон
изменения Тx от времени при постоянной к.
Это задание сложнее предыдущих, т.к. имеются лишь экспериментальные данные изменения константы скорости от
температуры. Есть два варианта решения задачи: можно,
решая задачу, при каждом изменении температуры системы, сравнивать ее с экспериментальными данными и выбирать соответствующее значение константы скорости реакции. Второй способ – определить закон изменения константы скорости. Для этого в полулогарифмических координатах строится зависимость ln(ke[i])(1/te[i]) (она будет
линейной), и по ней уже при помощи математи-ческого
аппарата выводится уравнение для константы скорости реакции
(procedureTForm1.Button2Click(Sender:
TObject)).Далеепроизводитсямоделированиепоранееописан
нойсхеме.
unitUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart;
type
TForm1 = class(TForm)
Chart1: TChart;
Memo1: TMemo;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
18
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Memo2: TMemo;
Label4: TLabel;
Label5: TLabel;
Chart2: TChart;
Series3: TFastLineSeries;
Edit3: TEdit;
Label6: TLabel;
Edit4: TEdit;
Label7: TLabel;
Edit5: TEdit;
Label8: TLabel;
Memo3: TMemo;
Edit6: TEdit;
Label9: TLabel;
Label10: TLabel;
Chart3: TChart;
Series1: TFastLineSeries;
Series2: TFastLineSeries;
Series4: TFastLineSeries;
Edit7: TEdit;
Edit8: TEdit;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Series5: TFastLineSeries;
Series6: TFastLineSeries;
procedure FormCreate(Sender: TObject);{выводнаэкранэкспериментальныхданных}
procedure Button2Click(Sender: TObject); {выполнениепрограммы}
procedure Button1Click(Sender: TObject); {очисткаэкрана}
private
{ Private declarations }
public
{ Public declarations }
end;
var
19
Form1: TForm1;
i:integer;
Ea,k,k0,TT,dt,t,CA,CB,CC:real;
const
te:array [1..8] of real=(323,328,333,338,343,348,353,358);
ke:array [1..8] of real=(0.014,0.019,0.025,0.033,0.046,0.06,0.081,0.119);
R=8.31;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear;
for i:=1 to 8 do
memo1.Lines[0]:=memo1.Lines[0]+' '+floattostr(te[i]);
memo2.Clear;
for i:=1 to 8 do
memo2.Lines[0]:=memo2.Lines[0]+' '+floattostr(ke[i]);
memo3.Clear;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CA:=strtofloat(edit1.Text);
dt:=strtofloat(edit2.Text);
t:=0;
for i:=1 to 8 do begin
chart3.series[0].AddXY(te[i],ke[i],'') ;
chart2.series[0].AddXY(1/te[i],ln(ke[i]),'') ;
end;
Ea:=(ln(ke[8])-ln(ke[1]))*R/(1/te[1]-1/te[8]);
edit3.Text:=floattostr(R);
edit5.Text:=floattostr(Ea);
k0:=ke[4]/exp(-Ea/(R*te[4]));
edit4.Text:=floattostr(k0);
TT:=strtofloat(edit6.Text);
Cb:=0; Cc:=0;
repeat
chart1.Series[0].AddXY(t,Ca,'');
chart1.Series[1].AddXY(t,Cb,'');
20
chart1.Series[2].AddXY(t,Cc,'');
ca:=ca-k0*exp(-Ea/(R*TT))*Ca*dt;
cb:=cb+k0*exp(-Ea/(R*TT))*Ca*dt;
cc:=cc+k0*exp(-Ea/(R*TT))*Ca*dt;
t:=t+dt;
tt:=tt+1;
memo3.Lines.Add(floattostr(Ca)) ;
edit7.Text:=floattostr(tt);
chart3.Series[1].AddXY(tt,k0*exp(-Ea/(R*TT)),'');
edit8.Text:= floattostr(t);
until Ca<0.0001;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
chart3.series[1].Clear;
chart1.Series[0].Clear;
chart1.Series[1].Clear;
chart1.Series[2].Clear;
edit1.Text:='';
edit2.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
memo3.Clear;
end;
end.
21
Рис. 10 Форма к примеру №3.
22
Рис. 11 Рабочее окно программы примера №3при запуске.
23
Рис. 12 Рабочее окно примера №3 после выполнения программы.
24
Рис. 13 Сброс результатов программы
25
Рис. 14 Ввод новых данных
26
Рис. 15 Рабочее окно после выполнения программы
27
Пример № 4
 Составить заключение об адекватности математического описания, используя метод неявных функций и
исходя из предположения, что скорость превращения
исходного вещества А в продукт В при постоянной
температуре описывается кинетическим уравнением
dC A
реакции первого порядка
(С).
 kCA
dt
Экспериментальные данные по концентрации исходного
компонента реагента равны:
t, C
0 10 20 30 40 50 60 70
CАэ, кмоль/м3 1 0.6 0.39 0.240.15 0.10 0.06 0.03
80
0.015
В результате моделирования получаем зависимости k(t) и
CA(t). В интервале t1  t  t2 (t1 = 0, t2 = 70 c) коэффициент
k=Const и, таким образом, модель адекватна реальному
процессу. В интервале t2 < t  t3 (t2=70 c, t3=100 c)
происходит изменение константы скорости. Вероятно,
экспериментальные данные в этой области содержат
значительные
погрешности
–
область
малых
концентраций. Таким образом, в интервале t1 t  t2
уравнение (С) хорошо аппроксимирует опытные данные
при k=0.45.
Очень распространенная задача построения зависимости
или определения закона изменения параметров, в данном
случае, концентрации реагирующих веществ, по экспериментальным данным. Такая зависимость позволяет впоследствии экстраполировать данные на другие условия
эксперимента. Задача сводится к определению константы
скорости реакции, построения экспериментальной и теоретической зависимостей, после чего делается вывод об
адекватности полученной модели. Чтобы получить линей28
ную зависимость выбираем координаты натуральный логарифм концентрации от времени. На форме имеется поле
ввода номера экспериментальной точки (шага) для определения интервала расчета константы скорости (наиболее
прямолинейный участок зависимости). Нижеприведенкодпрограммыиокнавыполненияпрограммы.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;
type
TForm1 = class(TForm)
Memo1: TMemo;
Chart1: TChart;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Memo2: TMemo;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Chart2: TChart;
Edit2: TEdit;
Label4: TLabel;
Series3: TFastLineSeries;
Edit3: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Series1: TLineSeries;
Memo3: TMemo;
Series2: TLineSeries;
Memo4: TMemo;
procedure FormCreate(Sender: TObject);{выводнаэкранэкспериментальныхданных}
29
procedure Button3Click(Sender: TObject); {очисткатекстовыхполей}
procedure Button1Click(Sender: TObject); моделирование}
procedure Button2Click(Sender: TObject); {очисткаэкрана}
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var i,m:integer;
tt,cc:array [1..9] of real;
c:array [1..100000] of real;
t,dt,k:real;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear;
memo2.Clear;
memo3.Clear;
memo4.clear;
tt[1]:=0;
cc[1]:=1000;
tt[2]:=10; cc[2]:=600;
tt[3]:=20; cc[3]:=390;
tt[4]:=30; cc[4]:=240;
tt[5]:=40; cc[5]:=150;
tt[6]:=50; cc[6]:=100;
tt[7]:=60; cc[7]:=60;
tt[8]:=70; cc[8]:=30;
tt[9]:=80; cc[9]:=15;
for i:=1 to 9 do begin
memo1.Lines[0]:=memo1.Lines[0]+' '+floattostr(tt[i]);
memo2.Lines[0]:=memo2.Lines[0]+' '+floattostr(cc[i]);
end;
i:=0;
while cc[i]>15 do begin
i:=i+1;
series1.AddXY(tt[i],(cc[i]),'');
series2.AddXY((tt[i]),ln(cc[i]),'');
end;
30
memo3.Lines[0]:='зеленая - расчет, красная - эксперимент';
memo4.Lines[0]:='ln(cc[i])';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
//memo1.Lines.Clear;
//memo2.Lines.Clear;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
i:=0;
while cc[i]>15 do begin
i:=i+1;
series1.AddXY(tt[i],(cc[i]),'');
series2.AddXY((tt[i]),ln(cc[i]),'');
end;
dt:=strtofloat(edit1.Text);
m:=strtoint(edit3.text);
k:=(ln(cc[1])-ln(cc[m]))/(ln(cc[1])*(tt[9]-tt[8]));
edit2.Text:=floattostr(k);
c[1]:=cc[1]; i:=1; t:=0;
while c[i]>0.001 do begin
series3.AddXY(t,c[i],'');
inc(i);
c[i]:=c[i-1]-k*c[i-1]*dt;
t:=t+dt;
end; end;
procedure TForm1.Button2Click(Sender: TObject);
begin
chart1.series[0].Clear;
chart1.Series[1].Clear;
chart2.Series[0].Clear;
end;
end.
31
Рис. 16 Форма примера № 4
32
Рис. 17 Рабочее окно запуска программы
33
Рис. 18 Ввод данных
34
Рис. 19 Окно выполненной программы, красная зависимость – экспериментальная, зеленая - теоретическая
35
Аналогично предыдущей задаче, работу можно выполнить
в пакете Mathcad. Модель решения та же самая, но исполнение – проще.
Рис. 20 Файл Mathcad с программой, исходными данными и теоретической зависимостью (ломанная кривая, т.е. – дискретная)
36
Рис. 21 Файл Mathcad с экспериментальной зависимостью (плавная
кривая, без разрывов)
37
Рис. 22 Файл Mathcad с программой, исходными данными и теоретической зависимостью (ломанная кривая, т.е. – дискретная) зависимостью для определения k
38
Рис. 23Файл Mathcad с данными расчетов
Аналогично предыдущей задаче, моделировать химическую реакцию можно и в excel. Ниже приводятся соответствующие рисунки.
39
Рис. 24 Файл Excel с исходными данными и экспериментальной зависимостью
40
Рис. 25Файл Excel с исходными данными и экспериментальной зависимостью для определения k
41
Рис. 26Файл Excel с исходными данными и теоретической зависимостью
Пример №5
 В ходе изучения термического разложения
динитроксида на золоте при 990оС получены следующие
кинетические данные:
время, мин
30
53
100
степень превращения, %
32
50
73
Определить порядок реакции n и константу скорости k с
помощью вычислительной машины. Для решения задачи
42
надо подготовить четыре вычислительных блока: блок,
моделирующий собственно химическую реакцию, блок,
воспроизводящий экспериментальную кривую,
В уравнении (Т) производим замену: С = С0(1-x), где С0 –
начальная
концентрация.
Получаем:
n
C
d (1  x)
(Т*). Для вычисления степени
 k 0 (1  x) n
dt
C0
превращения x необходим дополнительный сумматор: - (-x
= (1-x) – 1).
( константа скорости реакции должна
-4 -1
получиться 2.110 с .
Задание аналогично предыдущему, подробно не рассматривается, имеются код программы и различные этапы ее
выполнения.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls,Math, ExtCtrls, TeeProcs, TeEngine, Chart, Series;
type
TForm1 = class(TForm)
Memo1: TMemo;
Chart1: TChart;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Chart2: TChart;
Edit2: TEdit;
Label6: TLabel;
Series2: TFastLineSeries;
43
Edit3: TEdit;
Label7: TLabel;
Edit4: TEdit;
Label8: TLabel;
Memo2: TMemo;
Series4: TFastLineSeries;
Memo3: TMemo;
Memo4: TMemo;
Series3: TLineSeries;
Series1: TLineSeries;
procedureFormCreate(Sender: TObject); {вывод на экран экпериментальных данных и построение полулогарифмической зависимости}
procedure Button2Click(Sender: TObject); {очисткатекстовыхполей}
procedure Button3Click(Sender: TObject); {очисткаграфиков}
procedure Button1Click(Sender: TObject); {основнаяпрограмма}
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:integer;
tt,al:array [0..3] of real;
k,dt,t,c,n:real;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
tt[0]:=0; al[0]:=0;
tt[1]:=30; al[1]:=0.32;
tt[2]:=53; al[2]:=0.5;
tt[3]:=100; al[3]:=0.73;
memo1.Clear;
memo2.Clear;
memo3.Clear;
memo4.Clear;
for i:=0 to 3 do begin
memo1.Lines[0]:=memo1.Lines[0]+' '+floattostr(tt[i]);
memo2.Lines[0]:=memo2.Lines[0]+' '+floattostr(al[i]);
series1.AddXY(tt[i],1-al[i],'');
44
series2.AddXY(tt[i],Ln(1-al[i]),'')
end;
k:= abs(ln(1-al[3])-ln(1-al[1]))/(tt[3]-tt[1]);
edit2.Text:=floattostr(k);
n:=100*(ln(al[3])-ln(al[1]))/((ln((1-al[1])/(1-al[3])))*(tt[3]-tt[1]));
//n:=(ln((1-al[1])/(1-al[3]))+(ln(tt[1]/tt[3])))/(ln((1-al[3])/(1-al[1])));
edit3.Text:=floattostr(n);
memo3.Lines[0]:='зеленая - эксперимент, красная - расчет';
memo4.Lines[0]:='зеленая -Ln(1-al[i]), красная - 1-al[i] ';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Text:='';
edit4.text:='';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
series3.Clear;
series4.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
c:=strtofloat(edit1.text);
dt:=strtofloat(edit4.text);
t:=0;
while c>0.001 do begin
series3.AddXY(t,c,'');
t:=t+dt;
c:=c-k*power(c,n)*dt;
end;
c:=strtofloat(edit1.text);
for i:=0 to 3 do
series4.AddXY(tt[i],c*(1-al[i]),'');
end;
end.
45
Рис. 27 Исходная форма.
46
Рис. 28 Окно программы с расчетом константы скорости (k) и порядка
реакции (n)
47
Рис. 29 Окно программы, ввод данных с клавиаткры
48
Рис. 30 Рабочее окно с экспериментальной и теоретической зависимостями.
49
Рис. 31 Рабочее окно, ввод новых данных
50
Рис. 32Рабочее окно с экспериментальной и теоретической зависимостями.
51
Задания для лабораторных работ
Все задания, приведенные в пособии, взяты из книг Луценко В.И., Финякин Л.Н. Математическое моделирование
химико-технологических процессов на аналоговых вычислительных машинах. Лабораторный практикум ( М., Химия, 1984) [1] и К. Эберт, Х. Эдерер Компьютеры. Применение в химии. Пер. с нем., под ред. Н.С.Зефирова (М.,
Мир, 1988) [13].
Моделирование гомогенных химических реакций
Стехиометрическое уравнение реакции показывает,
в каких соотношениях компоненты участвуют в химической реакции. Это уравнение связывает исходные реагенты и конечные продукты и представляет собой материальный баланс в целом или ее отдельных элементарных стадий.
aA + bB  cC
cC – aA – bB = 0
где а, b, с – количество молей вещества А, В и С и называются стехиометрическими коэффициентами реакции.
В отличие от стехиометрической схемы механизм химической реакции раскрывает элементарные стадии превращения исходных компонентов в конечные продукты.
Скорость химической реакции ()–есть изменение количества молей компонента (ni), происходящее в единицу времени (dt) в единице объема (dV). Кинетическое уравнение
реакции записывается в виде:
i =
(d (ni / V )) / dt
52
Отношение числа молей i–того компонента к объему реакционной массы V представляет собой концентрацию этого
компонента Ci:
Ci  ni / V
Поэтому при постоянном объеме реагентов скорость реакции можно выразить через концентрацию как:
i  dCi / dt
Для реакции типа aA + bBcC скорость при постоянной
температуре
выражается
уравнением
A


 dC A / dt  kCA C B . Это выражение получают на основании закона действия масс. Здесь  и  определяют порядок реакции. Если стехиометрическое уравнение соответствует механизму реакции (или одной из ее стадий), то ее
порядок равен числу молекул, вступивших в реакцию (молекулярность реакции), т.е. =a, =b.
Механизм реакции называют истинным, если каждая
стадия описывается кинетическим уравнением, составленным в соответствии со стехиометрическим уравнением
этой стадии. При этом сумма стехиометрических коэффициентов исходных компонентов равна общему порядку реакции, а порядок реакции по отдельному компоненту равен стехиометрическому коэффициенту этого компонента.
В уравнении закона действия масс коэффициент k есть
константа скорости химической реакции. Зависимость
константы от температуры Т носит нелинейный характер и
обычно описывается уравнением Аррениуса:
k (T )  k0 e  E / RT
где k0 – предэкспоненциальный множитель, T – термодинамическая температура, E - энергия активации, R – универсальная
газовая постоянная.
53
Чтобы упростить запись кинетических уравнений,
константу скорости реакции рекомендуется относить к
одному молю реагента, а соответствующем выражении
скорости реакции (или стадии) умножать ее на
стехиометрический коэффициент. Таким образом, при
выводе уравнения скорости стехиометрию химической
реакции следует учитывать не только в величинах
порядков, но и в коэффициентах дифференциального
уравнения скорости. Например, в реакции H2 + 2NO 
N2O + H2O скорость поглощения NO в два раза выше, чем
H2, поэтому система дифференциальных уравнений
кинетики имеет вид:
2
dCH 2 / dt  kCH 2 C NO
2
2
dC NO / dt  2kCH 2 C NO
2
2
dC N2O / dt  kCH 2 C NO
2
2
.
dC H 2O / dt  kCH 2 C NO
2
Следует подчеркнуть, что для решения системы дифференциальных уравнений с целью получения кинетических кривых для каждого из них необходимо задать
начальные условия, т.е. оговорить исходные концентрации
соответствующих реагентов. Иногда для формального
описания кинетики используют дифференциальные уравнения, подобные приведенным выше, но при этом степени
 и  выступают в роли некоторых эмпирических констант
и часто принимают дробные значения.
1. Моделирование изотермических реакций, описываемых линейными дифференциальными уравнениями
(упражнения).
54
Задание 1 необходимо получить модели простой необратимой реакции первого порядка, сложной мономолекулярной реакции, протекающей в две последовательные стадии, сложной обратимой реакции первого порядка. Получить кинетические кривые для всех компонентов химических реакций.
 получение модели необратимой реакции первого порядка вида А  В, если известны: начальные концентрации СА(0), кмоль/м3, СВ(0), кмоль/м3, константа скорости
химической реакции при температурах Т1 и Т2. Требуется
найти для каждой температуры кинетические зависимости
компонентов реакции в виде функций СА(t), СВ(t) и время
50%-ного и 80%-ного превращения компенента А.
Для
моделирования
запишем
кинетичекие
уравнения для компонента А dC A / dt  kCA (1) и для
компонента В:
dC B / dt  kCA (2). Уравнения (1) и (2)
представляют систему линейных уравнений с заданными
начальными условиями.
Результаты выводятся в виде таблицы, графиков
С(t). Для сравнения времени 50%-ного и 80%-ного
превращения компонента А с теоретическим значением
применяют выражение: ln[ C (t ) / C (0)]  kt .
Задание2моделирование
двухстадийной
последоваk1
k2
тельной химической реакции вида: А  В 
С,
если известны начальные концентрации СА(0), СВ(0),
СС(0), кмоль/м3 и константы скорости k1, k2, с-1. Получить
кинетические зависимости компонентов реакции в виде
графиков функций С(t), для промежуточного продукта В
определить максимально возможный выход, а также
момент времени, в который этот максимум достигается.
Кинетические уравнения имеют вид: для компонента А 55
для
компонента
В
dC A / dt  k1C A ;
dCB / dt  k1C A  k 2 CB ; для компонента С dCC / dt  k 2 C B . Поскольку реакция идет до конца,
и вещества А и В полностью превращаются в конечный
продукт С, то можно записать следующее: СА max = СА(0) и
ССmax = CА(0) + CВ(0) + СС(0). Максимальное значение
концентрации продукта В заранее не известно, можно
заметить лишь, что СВmax СА(0) + СВ(0).
По
полученной
кинетической
кривой
промежуточного продукта В определяем СВmax и момент
времени tBmax, при котором этот максимум достигается.
Напоследок целесообразно сравнить получаемое значение
СВmax с теоретическим, вычисляемым как СВmax = СА(0)1/(1),
где  = к1/к2 при СВ(0)=0.
Задание 3Составить кинетическую модель обратимой
k1

химической реакции первого порядка вида A
B и

k2
получить кинетические кривые СА(t) и СВ(t), если
известны: начальные концентрациии СА(0) и СВ(0),
кмоль/м3 и константы скорости k1 и k2, с-1. Кинетические
зависимости компонентов реакции представить в виде
графиков функций СА(t) и СВ(t), определить равновесные
концентрации и время достижения равновесия при
различных соотношениях начальных концентраций и
констант скорости прямой и обратной реакций.
Кинетические уравнения имеют вид: для компонента А для
компонента
В
dC A / dt  k1C A  k 2CB ,
dCB / dt  k1C A  k 2CB . Кроме того, необходимо получить
кинетические кривые при различных начальных условиях:
СА(0)СВ(0) для случаев k1<k2, k1=k2, k1>k2; CA(0)=СВ(0)
для случаев k1<k2, k1=k2, k1>k2; CA(0)<CB(0) для случаев
56
k1<k2, k1=k2, k1>k2. (В случае, когда СА(0) + СВ(0) = const
независимо от начальных условий концентрации
стремятся к равновесным значениям, определяемым
константой равновесия kp = k1/k2 = CB()/CA().
2. Моделирование
описываемых
уравнениями.
изотермических
реакций,
нелинейными
диференциальными
Задание 4 Составить кинетическую модель необратимой
k
A B

D , если
реакции второго порядка вида
известны: начальные концентрации реагентов СА(0) и
СВ(0), кмоль/м3, константа скорости реакции к,
м3/(кмольс).
Получить
кинетические
зависимости
компонентов реакции в виде графиков функций СА(t),
CB(t), CD(t); определить время 50%-ного превращения
компонента А. Кинетические уравнения имеют вид: для
компонента А –
dC A / dt  kCACB , для компонента В - dCB / dt  kCACB
, для компонента D - dCD / dt  kCACB .
Искомые
кинетические зависимости СА(t), CB(t), CD(t) получаем в
виде графиков, по графику СА(t) определяем время 50%ного превращения компонента А.
Задание 5Составить кинетическую модель обратимой
k1

реакции второго порядка вида: 2 A
B  D , если

k2
известны: начальные концентрации компонентов СА(0),
СВ(0), СD(0) кмоль/м3; константы скорости реакции к1, к2
м3/(кмольс).
Получить кинетические зависимости
реагентов в виде графиков функций CA(t), CB(t), CD(t) и
определить время, в течение которого образуется
57
половина максимального количества продукта D.
Кинетические уравнения имеют вид: для компонента А dC A / dt  2k1C A2  2k 2 C B C D , для компонента В dC B / dt  k1C A2  k 2 C B C D , для компонента D Надо учесть, что
dC D / dt  k1C A2  k 2 C B C D .
продукты В и D образуются в эквимолярных количествах
и при нулевых начальных концентрациях их концентрации
не могут превысить величины, равной половине начальной
концентрации исходного компонента А, т.е. (СВ макс. = СD
макс.)  0.5 СА(0).
Задание 6Составить модель сложной последовательнопараллельной гомогенно-каталитической реакции второго
k1
k2
D  P 
A  N A  P 
B P.
порядка
вида
Реакция двухстадийная, каждая стадия протекает по
второму порядку. Известны: начальные концентрации CD
= 0.2, Cp =0.3 кмоль/м3; константы скорости к1 = 510-3, к2 =
210-3 м3/(кмольс).
Найти кинетические зависимости CD(t), CP(t), CA(t),
CB(t).
Задание 7 Получить также кинетические зависимости при
условии, что вторая стадия не является каталитической и
k2
B при к2 = 310-4 спротекает по первому порядку: A 
1
. Сравнить полученные кривые с соответствующими
кривыми из предыдущего варианта.
Кинетические
уравнения имеют вид: для компонента D для
компонента
Р
dCD / dt  k1CD CP ,
dC P / dt  k1C D C P  k 2 C AC P  k 2 C AC P  k1C D C P ,
для
компонента А - dC A / dt  k1C D C P  k 2 C A , для компонента
ВdC B / dt  k 2 C ACP .
58
Для второго варианта кинетическое уравнение будет
иметь вид: для компонента А - dC A / dt  k1C D C P  k 2 C A ,
для компонента В - dCB / dt  k 2C A . При моделировании
реакции по второму варианту константу скорости второй
стадии следует откорректировать так, чтобы кинетическая
кривая компонента В могла быть наложена на
соответствующую кривую, получаемую по первому
варианту.
3. Моделирование неизотермических реакций.
Получить модель химической реакции, протекающей с
тепловым эффектом. Определить зависимость между
степенью превращения (концентрацией) исходного
компонента и температурой реакционной смеси при двух
режимах проведения реакции – адиабатическои и
изотермическом.
Задание 8
Составить модель реакции разложения
первого порядка типа А  В + С, протекающей в
адиабатическом режиме с тепловым эффектом, если
известны: начальные концентрации и температура,
тепловой эффект, теплоемкости реагентов, зависимость
константы скорости реакции от температуры, приведенная
ниже:
Т, оС ……50
55 60
65
70
72.5
78
84
к, ч-1 …1.4
1.6 2.2 3.0 4.0 4.7
7.2 9.4
Получить временные зависимости концентрации
исходного компонента, концентраций продуктов реакции
и температуры, построить зависимость скорости
превращения реагента А от его концентрации в виде
функции dCA/dt = -k(T)CA(t). Математическое описание
59
химической реакции с тепловым эффектом включает
уравнение материального (кинетические) и теплового
балансов. Кинетическое уравнение для исходного
компонента реакции: dC A / dt  k (T )C A (t ) . Уравнение
теплового баланса при адиабатическом режиме имеет вид:
dC A
dT
, где cV = (cACA + cBCB + cCCC)V. Здесь
cV
 VH
dt
dt
сV – объёмная теплоемкость системы, зависящая от
текущих концентраций компонентов реакции, их
теплоемкостей сi и объема реакционной смеси V. В
качестве упрощающего предположения допустим, что
объемная теплоемкость сV – величина постоянная,
численно равная среднему значению теплоемкостей
отдельных компонентов cV = (cA + cB + cC)/3.
Окончательно дифференциальные уравнения балансов для
данной реакции запишем в виде: dC A / dt  k (T )C A
dT  k (T )C AVH
(А)

dt
cV
Искомые зависимости концентрации и температуры
реакции от времени получают при интегрировании
системы уравнений (А) (также д/б зависимость к от
времени, полученная на машине).
Если в процессе
реакции выделяется тепло, которое (частично) отводится
через стенку реактора при помощи хладагента, то при
составлении уравнений математической модели, кроме
уже приведенных исходных данных, необходимо знать:
коэффициент теплоотдачи через стенку , поверхность
теплообмена S, температуру хладагента Тx. В этом случае
дифференциальное уравнение скорости изменения
температуры
реакционной
массы
имеет
вид:
dC A
dT
(Б).
cV
 VH
 S (Tx  T )
dt
dt
60
Скорость
реакции
(В).
dC A / dt  k (T )C A
описывается
уравнением:
Уравнение (В) подставим в
dT
 k (T )C AVH  S (Tx  T ) (Г).
dt
Совместное решение уравнений (Г) и (В) на машине
позволяет изучить химическую реакцию, например, с
выделением тепла при отводе избытка тепла. При этом
можно варьировать S, , температуру хладагента Тx.
Реакцию с тепловым эффектом иногда необходимо
исследовать в условиях постоянной температуры. В этом
случае тепло, выделяемое в ходе химической реакции,
должно полностью отводиться через стенки реактора. При
этом Т=const, следовательно, dT/dt=0, k(t)=const и
уравнение
(Г)
можно
преобразовать
к
виду:
 k (T )C AVH  S (Tx  T )  0 .
С
помощью
этого
уравнения можно найти закон программного изменения
температуры
хладагента,
которое
обеспечивает
постоянство температуры реакционной массы. Здесь
концентрация СА – переменная величина, поэтому, чтобы
равенство не нарушалось, температура Тx должна
изменяться
по
следующему
закону:
Tx (t )  T  kTVHC A (t ) /( S ). Теперь получаем закон
изменения Тx от времени при постоянной к.
уравнение (Б)
cV
Моделирование гетерогенно-каталитических реакций
Работа заключается в ознакомлении с приемами
составления кинетических уравнений гетерогеннокаталитических реакций и моделирования таких реакций
на вычислительной машине. Обычно гетерогеннокаталитические процессы протекают в жидкой, газовой
или паровой фазе при участии твердого катализатора. В
случае газовой гетерогенно-каталитической реакции
61
исходные реагенты и продукты реакции – газы. При их
участии в реакции каждая молекула реагента последовательно проходит следующие стадии: диффузионный
перенос из газовой среды к поверхности катализатора,
адсорбцию на его поверхности, химическое превращение в
адсорбированном слое, десорбцию продуктов реакции,
диффузионный перенос продуктов реакции с поверхности
катализатора в газовую среду. На скорость гетерогеннокаталитической реакции большое влияние оказывает
площадь активной поверхности твердого катализатора,
Для ее увеличения катализаторы обычно выполняют в
виде зерен с сильно развитой пористостью. При этом
кажущаяся поверхность зерен ничтожна по сравнению с
поверхностью внутренних пор и каналов в зерне. Значения
длины и диаметра внутренних ходов должны исключать
сильное торможение диффузионно-транспортных стадий
процесса (внутренняя диффузия). Однако, внешняя
термодинамическая
обстановка
снаружи
зерна
катализатора не должна затруднять транспорт вещества к
катализатору и от него (внешняя диффузия). Наиболее
выгоден режим, при котором лимитирующей стадией,
определяющей
скорость
гетерогенно-каталитической
реакции, является собственно химическое превращение. В
таком случае говорят, что процесс идет в кинетической
области (в противоположность внутридиффузионной и
внешнедиффузионной области). Однако, практически не
всегда удается устранить диффузионное торможение.
Известны различные теоретические подходы к выводу
кинетических уравнений. При этом скорость реакции 
определяется как изменение числа молей dN (например,
продукта реакции) за время dt при участи катализатора
массой G.
1 dN
W  
G dt
62
Иногда скорость реакции записывают относительно
единицы поверхности катализатора
1 dN
W  
S:
.
S dt
Если гетерогенная каталитическая реакция является
многокомпонентной, вид кинетической функции может
оказаться достаточно громоздким. Здесь рассмотрено
моделирование реакций с использованием кинетических
представлений Ленгмюра –Хиншельвуда. Формы других
кинетических уравнений, например Хоугенга и Ватсона,
аналогичны рассматриваемой. Уравнения кинетики
Ленгмюра – Хиншельвуда выводят на основе предположения об ограниченной активности поверхности
катализатора. Предполагают, что химическое превращение
может происходить только при участии молекул,
попавших за счет адсорбции на активный центр
катализатора. Принимают, что число активных центров на
единице поверхности (поверхностная концентрация)
ограничено. Кроме того, для упрощения считают, что
каждый активный центр может удерживать лишь
определенное число молекул (или атомов) реагирующего
вещества (обычно одну). При таких предпосылках
скорость химического превращения оказывается пропорциональной концентрациям реагирующих веществ, адсорбированным на поверхности, т.е. поверхностным
концентрациям. Для описания зависимости поверхностной
концентрации некоторого вещества от его концентрации в
объеме окружающего газа используют уравнение
изотермы адсорбции Ленгмюра. Для упрощения принимают условия равновесия адсорбции и десорбции.
Скорость адсорбции ra некоторого компонента может быть
принята пропорциональной его давлению Р и концентрации свободных активных центров, определяемой как
разность между полной концентрацией активных центров
63
Са и концентрацией занятых центров С: ra  k a P(C a  C ) .
Скорость десорбции rd пропорциональна концентрации
занятых активных центров С: rd  k d C . Предполагая
равновесие между адсорбцией и десорбцией, т.е. приняв,
что ra=rd, получаем:
k a P(Ca  C )  k d C . Отсюда
концентрация занятых активных центров С равна С =
КРСа/(КЗ + 1) здесь К=ка/кд – константа равновесия
адсорбции.
В практике моделирования гетерогенно-каталитических
процессов вместо поверхностных концентраций активных
центров используют относительные концентрации  =
С/Са, называемые обычно степенью заполнения активных
центров. Используя параметр  последнее уравнение
можно записать следующим образом:  = КР/(1 + КР).
Если процесс адсорбции сопровождается обратимой
диссоциацией на n частиц, то скорости адсорбции ra и
десорбции rd являются функциями n–й степени от
соответствующих концентраций, тогда
  n KP /(1  n KP ) (Д)
Если газовая фаза содержит несколько компонентов,
адсорбируемых поверхностью катализатора, необходимо
вычислить степень заполнения поверхности каждым
компонентом. При этом следует учитывать, что
концентрация свободных мест определяется разностью
между полной концентрацией активных центров и суммой
центров, занятых всеми компонентами. Например, при
адсорбции двух газов (А и В) степени заполнения
поверхности можно записать следующим образом:
А = КАРА / (1 + КАРА + КВРВ) (З) и В = КВРВ / (1 + КАРА + КВРВ) (К)
64
При диссоциации адсорбируемых компонентов так же,
как в уравнении (Д), появляются дробные степени.
Например, при диссоциации компонента А на две частицы
вместо уравнения (З) и (К) получаем:
 A K A PA /(1  K A PA  K B PB ) (Л) и
 B  K B PB /(1  K A PA  K B PB ) (М).
Если в газовой среде присутствует инертный
компонент, не участвующий в химической реакции, но
адсорбируемый поверхностью, в знаменатель выражений
типа (Д)-(М) добавляют соответствующее слагаемое. Как
отмечалось выше, скорость химического превращения
пропорциональна
поверхностным
концентрациям
реагирующих компонентов: W  k1   2  ...   n , где к –
константа скорости реакции.
Рассмотрим, например, скорость реакции типа А + В
 М. При отсутствии диссоциации реагентов и без учета
инертного компонента получаем:
W = kAB = kKAKBPAPB / (1 + KAPA + KBPB + KMPM)2.
Проведя аналогичные рассуждения, можно вывести
кинетическое уравнение Ленгмюра – Хиншельвуда для
более сложных случаев.
Если адсорбционные свойства компонентов реакции
существенно различны, то вид уравнения Ленгмюра может
быть изменен. Рассмотрим, например, реакцию вида А
Р. Для этого случая уравнение Ленгмюра будет иметь
вид  A K A PA /(1  K A PA  K P PP ) (Н). Если реагирующий
газ адсорбируется слабо, а продукт реакции – умеренно, то
65
КАРА<< 1, и уравнение (Н) можно записать следующим
образом:  A K A PA /(1  K P PP ) . Кинетическое уравнение
для такого случая имеет вид: W = kFPA / (1 + KPPP), здесь
kF = kKA – кажущаяся константа скорости реакции. В
случае сильной адсорбции реагирующего вещества и
продукта реакции можно пренебречь единицей в
знаменателе уравнения (Н), тогда уравнение скорости
имеет вид: W = kFPA / (KAPA + KPPP). При слабой
адсорбции реагирующего вещества и сильной адсорбции
продукта КАРА << 1 << КРРР. Следовательно, кинетическое
уравнение примет вид: W = kFPA / (КPPP). Если допустить,
что может происходить химическое взаимодействие
адсорбированных молекул одного из реагентов с
молекулами другого, приходящими из газовой фазы, то
общий вид кинетической функции следует изменить на:
W  k ( P1  P2  ...  Pn )(1   2  ...   n ) .Примером кинетической
функции такого вида может служить выражение скорости
гидрохлорирования ацетилена (С2H2 + HCl  C2H3Cl):
W  kPC2 H 2 K HCl PHCl /(1  K HCl PHCl ) .
Скорость
реакции
определяется концентрацией ацетилена в газовой фазе
(причем ацетилен практически нне адсорбируется на
поверхности катализатора), а также поверхностной
концентрацией хлористого водорода. Вследствие слабой
адсорбции продукта реакции для расчета поверхностной
концентрации хлористого водорода применяют уравнение,
не учитывающее адсорбцию продукта. Для практических
расчетов в ограниченной области режимных параметров
часто
используют
аппроксимирующие
степенные
кинетические выражения, аналогичные формальнокинетическим уравнениям гомогенных реакций: W =
kPaAPbB…PmM, где a,b,m – частные порядки реакции. Так,
например, скорость окисления водорода на палладиевом
катализаторе прималой концентрации может быть описана
66
W  kPH 2 . При
следующим простым уравнением:
моделировании реакций в неизотермических условиях
следует учитывать зависимость коэффициентов адсорбции
и константы скорости от температуры. Это, однако,
значительно усложняет модель.
Моделирование гетерогенных каталитических реакций
– более трудоемкий и сложный процесс, чем
моделирование гомогенных реакций, т.к. кинетические
функции в этом случае сильно нелинейны, и требуется
большое число нелинейных решающих элементов. Почти
обязательно использование блока деления; в ряде случаев
необходимы также блоки извлечения корня или
возведения в степень.
Задание9
Получить модель заданной гетерогенной
каталитической реакции и снять кинетические кривые для
периодического процесса в изотермических условиях.
Промышленный процесс получения разбавленной азотной
кислоты
основан
на
каталитическом
окислении
кислородом оксида азота, содержащегося в нитрозных
газах: 2 NO + O2 2 NO2 . Механизм процесса: 2NOгаз
2NOадс (NO)2 адс (NO)2 адс + O2 газ N2O4 адс 2NO2 адс
2NO2 адс 2NO2 газ . Скорость процесса определяется
лимитирующей стадией взаимодействия кислорода
газовой среды с активной формой адсорбированного
оксида азота. Адсорбция кислорода незначительна по
сравнению с адсорбцией оксида и диоксида азота.
Уравнение кинетики имеет вид:
dC NO2
dt
 kCO2 
2
C NO
(О). При
2
1  K NO C NO
 K NO2 C NO2
моделировании реакции найти кривые для всех трех
компонентов газовой фазы, если к=1.1109 л3/(моль2слкат),
67
КNO=1.9108 л2/моль2, K NO2 =0.26 104 л/моль. Температура
Т=200оС;
давление
атмосферное,
начальные
концентрации, %(объемн.): СNO(0)=1, C O2 (0)=5, C NO 2 (0)=0.
Изменением объема компонентов в результате реакции
пренебречь. Приведенное кинетическое уравнение требует
подстановки в него мольных концентраций, в то время как
в задании оговорены объемные проценты. Учитывая
равные мольные объемы всех компонентов смеси, можно
заключить, что при нормальных условиях С, моль/л =
4.4710-4 С, %(объемн.). Таким образом, начальные
концентрации
реагентов
в
мольном
выражении
следующие:
CNO(0)=(273/(273+200))4.4710-41=2.5610-4 моль/л
C O2 (0) =(273/(273+200))4.4710-45=12.810-4 моль/л.
Для моделирования реакции необходимо составить
программу по уравнению (О). Возводить в квадрат
переменную СNO целесообразно с помощью блока
перемножения. Текущие концентрации оксида азота и
кислорода можно вычислять по стехиометрическим
соотношениям: CNO(t) = CNO(0) - C NO 2 (t), CO2 (t ) = C O2 (0) 0.5 C NO 2 (t).
Исследование химических реакций
В работе изучаются приемы коррекции параметров
математической модели на машине для получения
адекватных моделей химических реакций. Предыдущие
работы затрагивали вопросы прямого моделирования
68
химических реакций: по известному механизму и на
основе полной информации о кинетике реакции,
определялись зависимости температуры и концентраций
компонентов реакции от времени. При этом считалось,
что результаты решения уравнений кинетики на машине
равноценны
полученным
в
ходе
эксперимента
кинетическим зависимостям, так как математическое
описание реакции соответствует химическому процессу.
При изучении химической реакции в реальных
условиях возникает проблема составления адекватного
математического описания. Как правило, обсуждается
несколько предполагаемых вариантов механизма реакции.
Математические описания и, следовательно, модели этих
вариантов различаются по числу элементарных стадий.
При этом обычно в качестве неизвестных кинетических
параметров
математического
описания выступают
константы скорости и порядки отдельных стадий реакции,
которые требуется определить. В пределах постулируемого механизма параметры модели подбирают, добиваясь
максимального соответствия результатов моделирования
экспериментальным данным. Чтобы установить адекватность математической модели реакции реальному
химическому процессу, необходимо решить систему
уравнений принятой математической модели и сравнить
полученные результаты с аналогичными данными,
найденными экспериментально. Эффективное решение
этой задачи возможно при использовании поисковых
методов, например, метода целенаправленного перебора
вариантов, сопровождающегося оценкой удачности
выбора констант в каждом из них.
Для определения кинетических параметров химической реакции на машине необходим некоторый критерий адекватности математической модели (часто,
однако, оказывается достаточной визуальной оценки с
69
помощью двухкоординатного регистрирующего прибора).
Независимо от метода поиска неизвестных параметров, в
качестве такого критерия чаще всего используют
интегральную функцию ошибок  в виде критерия:
tk
интегрально-разностного 1   | Cie (t )  Cip (t ) | dt
(Р)
tn
и
интегрально-квадратичного
tk
 2   [Cie (t )  Cip (t )] 2 dt ,
(П)
tn
где Сie – экспериментальная зависимость концентрации i-го
компонента от времени; Сip – рассчитанная (на машине)
зависимость концентрации i-го компонента от времени; tn, tk –
моменты времени, соответствующие началу и концу
интегрирования.
Критерий
(П)
характеризуется
пониженной
чувствительностью к малым отклонениям (вследствие
возведения разности в квадрат), в то время как критерий
(Р) равномерно учитывает любые отклонения. Очевидно,
чем меньше , тем ближе экспериментальная зависимость
к расчетной. Поэтому определение неизвестных
параметров сводится к достижению минимума критерия 
путем надлежащего выбора определяемых параметров.
Независимо от вида критерия необходимо вычислять
текущую разность значений концентрации, найденных
экспериментально и рассчитанных
в результате
моделирования на машине.
1. Составить математическую модель химической
реакции по известному механизму и запрограммировать
уравнения математического описания для решения на
машине.
70
2. Определить с помощью ЭВМ неизвестные константы
(параметры модели).
3. Освоить моделирование реакции дробного порядка.
4. Найти порядок и константу скорости химической
реакции.
Задание 10 Составить заключение об адекватности
математического описания, используя метод неявных
функций и исходя из предположения, что скорость
превращения исходного вещества А в продукт В при
постоянной температуре описывается кинетическим
dC A
уравнением реакции первого порядка
 kCA (С).
dt
Экспериментальные данные по концентрации исходного
компонента реагента равны:
t, C
0 10
20
30
40
50
60
70
80
CАэ, кмоль/м3 1 0.6 0.39 0.24 0.15 0.10 0.06 0.03 0.015
В результате моделирования получаем зависимости k(t)
и CA(t). В интервале t1  t  t2 (t1 = 0, t2 = 70 c) коэффициент
k=Const и, таким образом, модель адекватна реальному
процессу. В интервале t2 < t  t3 (t2=70 c, t3=100 c)
происходит изменение константы скорости. Вероятно,
экспериментальные данные в этой области содержат
значительные
погрешности
–
область
малых
концентраций. Таким образом, в интервале t1 t  t2
уравнение (С) хорошо аппроксимирует опытные данные
при k=0.45.
Задание 11
Промоделировать реакцию, формальное киdC
  kC n (Т), если
нетическое уравнение которой
dt
71
к=310-3
л0.4/(моль0.4с),
n=1.4,
С(0)=0.2
моль/л.
Продифференцируем уравнение (Т) и определим вторую
d 2C
dC
производную
(У).
 nkC n 1
2
dt
(dt )
После подстановки уравнения (Т) в уравнение (У)
2
d 2C
1  dC 
получаем:
n 
 . (Может быть целесообразно
2
C  dt 
(dt )
отказаться от вычисления первой производной?)
Начальная скорость реакции С’(0) моль/(лс), равна С’(0) =
-кСn(0) =-310-3(0.2)1.4 = -3.1510-4.
Задание 12 В ходе изучения термического разложения
динитроксида на золоте при 990оС получены следующие
кинетические данные:
время, мин
30
53
100
степень превращения, %
32
50
73
Определить порядок реакции n и константу скорости k
с помощью вычислительной машины. Для решения задачи
надо подготовить четыре вычислительных блока: блок,
моделирующий собственно химическую реакцию, блок,
воспроизводящий экспериментальную кривую, .
В уравнении (Т) производим замену: С = С0(1-x), где
С0
–
начальная
концентрация.
Получаем:
n
C
d (1  x)
 k 0 (1  x) n
(Т*). Для вычисления
dt
C0
степени превращения x необходим дополнительный
сумматор: - (-x = (1-x) – 1). ( константа скорости
реакции должна получиться 2.110-4 с-1.
Задание 13Распределение молекул идеального газа по
скоростям (распределение Максвелла).
72
3
dN
 m  2  2 mu 2 /(kT )
;
 4u 2 
 e
du
 2kT 
1
Для 1 моля газа:
dN
 du du  L  6.022E 23  1 моль;
где u – скорость, k – константа Больцмана, T- температура К, m
– масса молекулы, dN/du – плотность распределения частиц, т.е.
доля частиц, скорость которых лежит в интервале от u до (u +
du).
До написания программы необходимо выбрать систему
единиц измерения для используемых и вычисляемых величин. К тому же нужно учесть некоторые фундаментальные константы, например: L – число Авогадро, молекулярная масса M=mL, универсальная газовая постоянная
R=kL, равная 8.31441 Дж.(Кмоль), отношение m/k заменено в вышеприведенной формуле на M/R.
Вводятся (задаются) температура, молекулярная масса,
скорость (например, 300К, 28, 200 м/с и тогда плотность
распределения составит 9.5896926410-4 моль/(м/с), при
увеличении скорости в 2 раза плотность распределения
также увеличив. в 2 раза.)
Задание 14
Скорость истечения газа.
Еще один пример расчета по формулам - программа
для вычисления скорости истечения идеального газа из сосуда под давлением. Скорость истечения зависит от давления внутри и вне сосуда, то молекулярной массы газа, от
73
температуры и от отношения молярных теплоемкостей
k=Cp/Cv (из-за адиабатического расширения).
w
2 RT
k9 M
k9

p
1 
 ;
p0 

где: w – скорость истечения, R – универсальная газовая постоянная, T – температура в сосуде, p – внешнее
давление, p0 – давление в сосуде, M – молекулярная масса
газа, k9 – вспомогательная величина, которую рассчитывают, исходя из Cp и Cv , k9=(k-1)/k.
При Т=293, массе 28.96, к=1.402, р=1.2, р0 =2.4, скорость
составит 325.204413 м/с.
Задание 15Интегрирование методом Монте-Карло.
При вычислении кратных интегралов метод М-К часто
дает лучшие результаты, чем другие численные методы.
Для начала рассмотрим f(x) при x=[a,b]. Площадь криволинейной трапеции равна площади прямоугольника, одна
сторона которого равна среднему значению функции на
заданном отрезке, а другая – длине этого отрезка. Вычисление среднего значения функции методом М-К : вычисляют значения функции в случайных точках внутри заданного отрезка и находят их сумму. После деления этой
суммы на число точек получают среднее значение, которое
ближе всего к истинному среднему значению функции на
заданном отрезке, чем больше выбрано число случайных
точек. В случае функции f(x,y) вычисляют значения функции в случайных точках (x,y), определяют среднее значение, которое умножают на площадь области интегрирования. Пример: вычислить интеграл f(x,y,z)=x2 + y2 + z2. Ин74
тегрируя по параллелепипеду (трехмерному интервалу).
Значения этой конкретной функции можно определить
аналитически и сравнить с расчетными значениями.
xb yb zb
   (x
2
 y 2  z 2 )dxdydz 
xa y a y a
xyz 2
(x  y 2  z 2 )
3
В выражении, стоящем справа от знака равенства, надо
поставить верхние и нижние пределы интегрирования со
знаками плюс и минус соответственно, т.е. как при вычислении определенного интеграла функции одной переменной.
Задание 16
Мольная теплоемкость металлов по Дебаю.
Согласно формуле, выведенной на основании теории Дебая, мольная теплоемкость металлов зависит от
температуры Т и температуры Дебая , которая является
характеристическим свойством каждого металла. Эта
формула содержит интеграл, который аналитическими методами невозможно вычислить, поэтому применим
численное интегрирование, в частности, используем метод
Симпсона. Строго говоря, теплоемкость (CV) зависит не от
абсолютных значений Е и , а от отношения /T. Если обозначить /Т = z, то формула Дебая принимает вид
z
CV 
9R
ex
4

x
dx .
z 3 0 (e x  1) 2
С увеличением температуры мольная теплоемкость CV
приближается к классическому значению 3R. Построить
график этой зависимости.
75
Задание 17 Расчет вириального коэффициента на основе
межмолекулярного потенциала.
Для описания состояния реального газа часто пользуются уравнением состояния идеального газа, к правой части которого добавлены слагаемые в виде степенного ряда
по давлению. Коэффициенты этого степенного ряда называются вириальными коэффициентами. Если ряд оборвать
на втором члене, то получится следующая формула:
PV = RT + B(T)P
В(Т) можно определить из экспериментальных данных по
уравнению:
B(T) = (PV)/P.
Размерность коэффициента В(Т) – ед. объема/моль. Отклонение поведения реального газа от идеального обусловлено межмолекулярным взаимодействием. Второй вириальный коэффициент можно рассчитать, исходя из
межмолекулярного потенциала EP(r). Ради простоты атомы
или молекулы будем считать шарообразными. Тогда на
потенциал EP будет оказывать влияние только расстояние
между частицами, а не их взаимная ориентация. Пусть
межмолекулярный потенциал имеет вид потенциала Леннарда-Джонса:
   m    n 
E p         4 ,
 r  
 r 
r – расстояние между атомами;  - расстояние, на котором
силы притяжения и отталкивания равны;  - глубина потенциальной ямы; n – соответствует члену, описывающему
76
притяжение (обычно равно 6); m – соответствует члену,
описывающему отталкивание (обычно равно 12).
Сила межмолекулярного взаимодействия K(r ) в общем
виде выражается как :
K (r )  dEP (r ) / dr .
Второй вириальный коэффициент В(Т) можно рассчитать
по следующей формуле:

B(T )  2N L  (1  e  EP ( r ) / kT )  r 2 dr .
0
- Построить зависимость вторых вириальных коэффициентов различных веществ от температуры и от обратной
температуры.
Задание 18 Вычислить CV металлов по формуле Дебая и
заполнить таблицу по следующей форме:
/T
CV
0.01
0.1
0.5
1
3
5
10
Построить график зависимости CV никеля от температуры
(температура Дебая 375 К).
Задание 19Исходя из значений CV, рассчитать разность
значений внутренней энергии при двух различных температурах по следующей формуле:
T1
U (T1 )  U (T2 )   CV (T )dT
T2
Значения CV вычислить по формуле Дебая. Для расчета U
необходимо составить программу для двойного интегрирования.
77
Задание 20Зависимость СР(Т) от температуры описывается следующей формулой:
2
1  e T / 10000
C P (T )  3R
1  100 / T
Вычислить H, S при двух произвольных температурах
(например, при 78 К и 532 К).
Задание21
Пусть
дана
химическая
реакция
k
A
 продукты , скорость которой подчиняется кинетиd [ A]
 k  [ A] ,
ческому уравнению первого порядка:
dt
где
t – время, k –константа скорости реакции. Зависимость k
от температуры описывается уравнением Аррениуса:
 Ea
k (T )  k 0  e RT
Пусть температура в реакторе (начальное значение 300 К)
меняется со временем в соответствии с уравнением
t
T (t )  300  (TE  300)(1  e q ,
TE – конечное значение температуры, q – постоянная времени, которая определяет скорость изменения температуры. Тогда константа скорости реакции будет также зависеть от времени :
 Ea
k T (t )  k (t )  k 0  e RT (t ) .
Концентрацию А при постоянной температуре можно рассчитать по формуле:
[ A]  [ A]0  e  k (T )t ,
Для неизотермических условий справедливо:
t
[ A]  [ A]0  e
78

 k [T ( t )] dt
0
.
Составить программу, позволяющую выяснить зависимость концентрации А от [A]0, Ea, k0, TE, q, t.
Задание 22 Составить программу для летучести f в зависимости от давления p и температуры T , полагая, что для
реальных газов выполняется соотношение Ван-дерВаальса:
p
f

1
RT 
dp ,
log   
  V реал 
p 
 p  RT 0 
Уравнение Ван-дер-Ваальса имеет вид:
RT
a
p
 2 .
V b V
Вычислить несколько примеров по выбору, исходные данные приведены в таблице.
Бензол
Xe
H2O
CO2
А/(л2атммоль-2)
18.00
4.194
5.464
3.592
100b/(лмоль-1)
1.154
5.105
3.049
4.261
Задание 23 В квантовой химии часто возникает необходимость вычислять интегралы перекрывания. Ниже рассмотрен гипотетический пример, на котором объясняется
принцип вычисления интегралов перекрывания. Пусть дана одномерная волновая функция w(x):
w( x)  N  e | x| . Сначала рассчитывают нормировочный коэффициент N, который выбирают так, чтобы
выполнялось следующее условие:
79

 w( x)  w( x)dx  1 .
Для нормированной волновой функ-

ции интеграл перекрывания рассчитывают по формуле:

SN
2
 w( x  A)  w( x  B)dx .

А и В – расстояния от произвольной нулевой точки до
атомов А и В соответственно; |А-В| - расстояние между
атомами. Вычислить интегралы перекрытия при различных расстояниях между атомами.
Пусть имеются некоторая кислота и вода, которые диссоциируют по следующему механизму:
НА  Н+ + А-
(1)
Н2О  Н+ + ОН-
(2)
Соответствующие константы равновесия имеют вид
[ H  ][ A  ]
(3)
- константа диссоциации
Ka 
[ HA]
K W  [ H  ][OH  ] (4)
кислоты;
- ионное произведение воды.
Поскольку анион А- образуется только из кислоты НА,
уравнение материального баланса по кислоте выглядит
следующим образом:
[НА]o = [HA] + [A-]
(5)
– материальный
баланс по кислоте.
Раствор электролита в целом электронейтрален, поэтому
количество положительных и отрицательных ионов должно быть одинаково: [H+] = [A-] + [OH-] (6)
– баланс
по заряду. Если выражение для концентрации недиссоциированной кислоты [HA], найденное из уравнения (3),
80
подставить
в
уравнение
(5),
то
получится


[ H ][ A ]
[ HA]o 
 [ A  ] (7).
Ka
Если выражение для концентрации ионов ОН-, полученное
из уравнения (4), подставить в уравнение (6), то выражеK
ние для А- примет вид: [ A  ]  [ H  ]  W
(8)
[H ]
Если выражение (8) подставить в уравнение (7), то получится формула, в которую входят только константы равновесия, концентрация кислоты и концентрация ионов водорода:
[ H  ]2  KW
K
[ HA]o 
 [ H  ]  W .
Ka
[H ]
Формула пересчета: log10(x) = ln(x)/ln(10).
Задание 24 Составить две таблицы или построить два
графика, отражающие зависимость рН от концентрации
кислоты при заданной и постоянной константе диссоциации, а также от константы диссоциации при заданной (постоянной) концентрации.
Задание 25 Написать программу для расчета рН буферного раствора и проанализировать, что произойдет, если к
нему добавить сильную кислоту. Буферный раствор
Задание 26 раствор, содержащий слабую кислоту и соль
этой кислоты. При добавлении не очень большого количества сильной кислоты значение рН раствора меняется в
относительно небольших пределах. Количественно это
можно описать следующим образом:
НА  Н+ + АН2О  Р+ + ОН81
КА  К+ + А- (диссоциирует полностью).
В качестве сильной кислоты можно взять соляную, которая полностью диссоциирует:
HClH+ + Cl[ H  ][ A  ]
константа диссоциации слабой
Ka 
[ HA]
кислоты;


K W  [ H ][OH ] ионное произведение воды.
Анион А- образуется из слабой кислоты и из соли этой
кислоты, что отражено в уравнении материального баланса:
[HA]o + [KA]o = [HA] + [A-] материальный баланс
по аниону;
вследствие полной диссоциации КА
[KA]o = [K+]
уравнение баланса по заряду имеет вид:
[H+] + [K+] = [A-] + [OH-] + [Cl-]. Если концентрацию недиссоциированной кислоты выразить из уравнения
для Ка и подставить полученную формулу в уравнение материального
баланса
по
аниону,
то
получим:


[ H ][ A ]
[ HA]o 
 [ A  ]  [ KA]o . Выражение для
Ka
концентрации ионов ОН-, найденное из уравнения ионного
произведения воды, подставим в уравнение баланса по заряду. Полагая, что сильная кислота и ее соль полностью
диссоциированы, после соответствующих преобразований
K
получим:
[ A ]  [ H  ]  W  [ KA]o  [ HCl ]o .
[H ]
Совместное решение двух последних уравнений дает
окончательную формулу, в которую входят константы
равновесия, концентрации слабой кислоты, соли и сильной
кислоты, а также концентрация ионов водорода:
82
 [ H  ]  
K 
[ HA]o  [ KA]o  
 1[ H ]  [ KA]o  [ HCl ]o  W  .
[H ] 
 Ka

Использовать в программе следующие входные данные:
концентрации слабой кислоты и ее соли равны 1 моль/л.
константа диссоциации слабой кислоты равна 1.8510-5,
ионное произведение воды равно 110-14. Ввести разные
концентрации сильной кислоты и посмотреть, как при
этом изменится рН раствора. Отобразить изменение рН в
зависимости от концентрации сильной кислоты в виде
графика.
Задание 27 Написать программу для расчета рН буферного раствора при добавлении к нему сильного основания.
Задание 28Написать программу для расчета рН смеси растворов двух слабых кислот.
Задание 29 Пусть имеется раствор слабого электролита
К2А, который непосредственно диссоциирует на три иона:
Kc
K 2 A 
2 K   A 2 . Согласно закону разбавления Оствальда, это равновесие можно описать следующей
4 3 co2
Kc 
формулой:
. Рассчитать степень диссоциа1
ции этого электролита при заданных значениях Кс и со
(например, Кс =0.01 и со =0.001).
Задание 30 Дана обратимая реакция первого порядка:
k1
A 

B . Если проинтегрировать соответk2
ствующее кинетическое уравнение, то получится:
83
 k [ A]  k 2 [ B] 
  (k1  k 2 )t ; где [A]o, [B]o –
ln  1
 k1[ A]o  k 2 [ B]o 
начальные (не равновесные) концентрации веществ; t –
время; x – изменение концентрации вещества А и В:
[A]=[A]o – x [B]=[B]o + x. Даны начальные концентрации
веществ А и В и константа скорости к1. Кроме того, известно одно значение х в момент времени t. Написать программу для расчета константы скорости реакции к2.
Задание 31 Зависимость константы скорости реакции по
теории Эйринга описывается следующей
k T
k  B e
h
S #
R
e
 H #
RT
формулой:
, где kB – постоянная Больцма-
на, h – постоянная Планка.
Выбрать какие-нибудь значения для энтропии активации
S# (например, -11.8 кал/(мольК)) и энтальпии активации
Н# (например, 25000 кал/моль). Кроме того, следует задать константы скорости (например, 0.001 1/с). Найти
температуру Т, которая соответствует выбранному значению к. Сравнить результат численного решения уравнения
Эйринга с результатом аналитического расчета по приближенной формуле, которая не учитывает зависимость от
температуры предэкспоненциального множителя. Для этого можно воспользоваться формулой Аррениуса:
k  k o  e  Ea / RT .
Чтобы привести формулу Эйринга к виду уравнения Аррениуса, можно использовать
среднюю температуру Тср.
k T
ko  B  e
h
 S #
R
и Ea = H# + RTср.
84
Интегрирование кинетического уравнения первого порядка методом Монте-Карло.
Для реакции первого порядка (например, реакции распада или изомеризации) число реагирующих частиц в единицу времени пропорционально числу оставшихся частиц.
Это дает в итоге (для очень большого числа частиц) следующее кинетическое уравнение:
N t  N o e  kt , где Nt – число частиц в момент времени t; No – число частиц в момент времени 0; k - константа скорости распада. Принцип моделирования процессов с помощью стохастического метода можно популярно объяснить на следующем примере:
Пусть у нас имеется N ящиков, и в каждом ящике находится одна частица, которая может реагировать. Выберем
наугад один ящик. Если в нем еще оставалась непрореагировавшая частица, то теперь она прореагирует. Если частица ранее уже прореагировала, то ничего не произойдет.
Таким образом, вероятность того, что реакция произойдет,
пропорциональна числу имеющихся непрореагировавших
частиц. Этот метод лежит в основе следующей программы.
260
1000
dim X(100)
fori=1 to 100
X(i)=1 next
T=0
N=100
Print T,N,exp(-0.1*T)
For i=1 to 10
T=T+1
J=int(rnd(5)*100+1)
If X(j)=0 then goto 1000
X(j)=0
N=N-1
next i
goto 260
end.
85
Задание 32Написать программу, реализующую метод
Монте-Карло для моделирования последовательной реакka
kb
A 
B 
C.
ции первого порядка:
Задание 33 Написать программу, реализующую метод
Монте-Карло, для моделирования реакции второго порядка:
А + В  С + D.
Задание 34 Имеется N ящиков (например, 100) и М шариков разложены случайным образом по этим ящикам. Как
изменяется вероятность обнаружения шарика в зависимости от значений N и M? Написать для этой задачи программу, реализующую метод Монте-Карло.
Задание 35 Химическая реакция протекает в термически
изолированном сосуде. Дифференциальное уравнение,
описывающее изменение концентрации исходного вещества, имеет вид:
c’= -kc. Для константы скорости к
выполняется уравнение Аррениуса: k  k o  e  Ea / RT . Температура в реакторе изменяется в зависимости от степени
превращения:
Т = То + (со –с)Н, где Н – величина,
пропорциональная энтальпии реакции. Построить график
зависимости концентрации с от времени для эндотермической и экзотермической реакций. Соответствующие дифференциальные уравнения можно легко вывести из приведенных выше уравнений. Решить аналогичную задачу для
реакции второго порядка.
Задание 36 Рост опухоли, которая обычно увеличивается
экспоненциально, часто можно описать простым дифференциальным уравнением. Однако со временем константа
роста опухоли уменьшается. Пример соответствующего
86
c
dV
 a  V  e bt , где V –
dt
размер опухоли, c=1 (как правило), a, b – характеристические константы. Найти зависимость размера опухоли от
времени, если рост опухоли описывается приведенным
уравнением. При некоторых значениях параметра с существует предельный размер опухоли (например, при с=1),
при других значениях параметра такого ограничения на
размер опухоли нет (например, при с=0). Выяснить, начиная с какого значения «с» размер опухоли при достаточно
продолжительном времени ее роста не превосходят некоторой конечной величины (параметры а и b можно выбрать произвольно).
дифференциального уравнения:
Задание 37 Рассмотрим реактор идеального смешения
объемом V литров. Пусть в этом реакторе протекает реакция a-го порядка. Концентрация вещества C в начальный
момент времени (t=0) равна co. В реакторе непрерывно
подводится вещество C и из реактора непрерывно отводится смесь исходных и конечных продуктов реакции. Поскольку объем реакционной смеси остается постоянным,
то оба потока (z) одинаковы и не меняются со временем. В
реактор попадает раствор вещества C с концентрацией cz ,
а на выходе из реактора концентрация этого вещества равна c. Кинетическое уравнение для реакции первого порядка, протекающей в проточном реакторе идеального смешения, имеет вид: dc/dt = -kca + czz/V – cz/V. Рассчитать
кинетическую кривую этой реакции в начальный период, а
также стационарную концентрацию, которая устанавливается через достаточно большой промежуток времени. Скорость реакции зависит от значения параметров co, cz, k, a,
z и V. (Для расчетов взять следующие значения параметров: co = 3 моль/л, cz = 2 моль/л, a = 1, k = 0.001 1/c, z = 1
л/с, V = 1000 л.).
87
Задание 38 Дан следующий механизм реакции (буквами
обозначены различные химические соединения, числа над
стрелками – константы скорости):
1
10
A

M M
AM 
BC
4
20
C
 M  D
M  M  E
Кинетика этой реакции описывается системой дифференциальных уравнений:
[A]’ = -[A] – 10[A][M]
[M]’ = 2[A] – 10[A][V] + 4[C] – 40[M][M]
[B]’ = 10[A][M]
[C]’ = 10[A][M] – 4[C]
[D]’ = 4[C]
[E]’ = 20[M][M]
Заменим в этой системе дифференциальных уравнений
буквы индексированными переменными:
[A]’  D(1), [A]  Y(1)
[M]’  D(2), [M]  Y(2)
[B]’  D(3), [B]  Y(3)
[C]’  D(4), [C]  Y(4)
[D]’  D(5), [C]  Y(5)
[E]’  D(6), [E]  Y(6)
Тогда система диф-уравнений получится в виде:
D(1) = -Y(1) – 10Y(1)Y(2)
D(2) = 2Y(1) – 10Y(1)Y(2) + 4Y(4) – 40Y(2)Y(2)
D(3) = 10Y(1)Y(2)
D(4) = 10Y(1)Y(2) – 4Y(4)
D(5) = 4Y(4)
D(6) = 20Y(2)Y(2)
Составить самостоятельно систему диф-уравнений, исходя из механизма реакции, рассчитать кинетические кривые
расходования вещества А и накопления продуктов реакции В, D и Е.
88
Задание 39 дана реакция разложения а-го порядка (аналогичная предыдущим примерам): dc / dt  k o  e  Ea / RT  c a
.Тепловой эффект реакции равен Н. Реактор помещен в
термостат с температурой Tb. Количество тепла, передаваемое от реактора к термостату, пропорционально (Т- Tb).
Зависимость температуры в реакторе от времени можно
описать следующим диф-уравнением:
dT / dt  H  (k o  e  Ea / RT  c a )  D  (Tb  T ) .
Величина Н пропорциональна энтальпии реакции, D – коэффициент теплопроводности через стенку реактора.
Составить программу для решения соответствующей
системы диф-уравнений и найти зависимость с от времени
при заданных значениях параметров Tb, ko, Ea, H, D и a при
начальном условии (t=0) c = co, T = To. (Обратить внимание, что в случае сильноэкзотермической реакции и малого отвода тепла при выполнении программы могут встретиться трудности, связанные с приближенным характером
численного метода, например отрицательные концентрации в промежуточных результатах, неустойчивость решения, неправдоподобно большие значения температуры и
многое другое.) При достаточно малом шаге интегрирования, т.е. если отрезок, ограниченный начальным и конечным значениями аргумента, разделить на очень большое
число частичных отрезков, эти трудности устраняются, и
ЭВМ выдает вполне разумные результаты.
Задание 40 Если известны не все начальные значения величины yi(xo), но известны значения y при одном или нескольких значениях х, то такой тип задач относится к краевым задачам. В качестве математического примера можно привести следующее дифференциальное уравнение:
Y’’ = x – y
89
С двумя краевыми условиями у(0) = 0 и у(1) = 2.
В качестве примера из химической кинетики рассмотрим механизм химической реакции, кинетическая схема и
значения констант скорости которой:
АВ
А + В  продукты
к1 = 0.1
к2 = 0.1
Дифференциальные уравнения для концентраций веществ
А и В имеют вид:
d[A]/dt = -0.1[A] – 0.1[A][B]
d[B]/dt = 0.1[A] – 0.1[A][B]
Если рассматривать все концентрации и константы скорости как безразмерные величины, то вопрос можно сформулировать следующим образом: как выглядят кинетические кривые для веществ А и В, если выполняются условия [A] = 0 при t = 0 (первое краевое условие) и [A] = 0.75
при t = 1 (второе краевое условие)? Чтобы выполнялось
второе краевое условие, начальная концентрация вещества
В должна иметь строго определенное значение. Если рассматривать эту задачу с полностью известными начальными условиями, то ее можно решить с помощью метода
Рунге-Кутта (гл.9.5). В этом случае получаем:
[A](t=0)
1.0
1.0
[B](t=0)
0.0
5.0
[A](t=1)
0.90061
0.55774
[B](t=1)
0.09064
4.70887
Следовательно, начальное значение концентрации В, которое удовлетворяет заданному при постановке задачи
условию [A](t =1) = 0.75, должно лежать между 0 и 5:
90
[A](t=0)
1.0
1.0
[B](t=0)
2.5
1.25
[A](t=1)
0.70929
0.79941
[B](t=1)
2.37839
1.22858
Таким образом, чтобы полностью найти начальные
условия, надо задать (хотя бы произвольно) значение концентрации вещества В, найти решение системы дифференциальных уравнений, сравнить полученное значение
концентрации вещества А в момент времени, равном 1 и
выбрать новое «улучшенное» начальное значение концентрации вещества В (этот механизм похож на стрельбу по
мишени, его еще называют «метод стрельбы»).
(нужно задавать точность расчетов)
Задание 41 Дана схема реакции, приведенная вначале, и
соответствующая ей система уравнений. Определить
начальные значения концентраций веществ А и В в момент времени t=0, если в момент времени t=2 A=1.1 и в
момент времени t=4 A=0.7. Или же:
t=0
t=2
t=4
A
?1
1.1
0.7
B
?2
?3
?4
Для начала необходимо вычислить значения В при t=2 и
t=4, рассматривая t=2 как начальный момент времени и
принимая в качестве второго краевого условия t=4, А=0.7.
Тогда можно получить значения ?3 и ?4. Значения ?1 и ?2
можно рассчитать, если в качестве начального условия использовать t=2, A=1.1 и вычисленное значение ? 3 и провести интегрирование системы дифференциальных уравнений с отрицательным шагом. Таким образом, находятся
концентрации вещества А и В в момент времени t=0.
91
Задание 42 Примером может служить задача о распределении температуры вдоль стержня, которая решается с
помощью второго закона Фурье: Т / t = с 2Т / х2.
Распределение температуры вдоль стержня описывается
формулой Tt=0(x) = x.
Начиная с момента времени t = 0 на обоих торцах
стержня поддерживается температура Т = То. Если стержень разделить на n равных интервалов длиной h, то
первую частную производную от Т по х в точке хi приближенно можно представить в виде:
T ( xi 1 )  T ( xi 1 )
T
( xi ) 
 T ' ( xi ) .
x
xi 1  xi 1
Вторую частную производную можно приближенно выраT ' ( xi 1 )  T ' ( xi 1 ) T '
 2T
зить как:
( xi ) 

( xi ) .
2
xi 1  xi 1
x
x
Подставив в эту формулу приближенное выражение для
Т’, получим:
T ( xi  2 )  T ( xi  2 )  2  T ( xi )
 2T
( xi ) 
.
2
x
4  h2
Если каждый интервал разделить пополам и провести
дифференцирование тем же способом, то получится окончательная формула, с которой мы будем работать (2h заменяем на h):
T ( xi 1 )  T ( xi 1 )  2  T ( xi )
 2T
( xi ) 
.
2
x
h2
Подстановка этого приближенного выражения в приведенное выше уравнение второго закона Фурье дает:
92
T ( xi 1 )  T ( xi 1 )  2  T ( xi )
T
.
( xi )  c 
t
h2
Для краткости будем писать Ti вместо T(xi), T’i вместо
T(xi)/t , b вместо c/h2.Учитыва, что на торцах стержня
температура равна Тщ, можно написать систему уравнений:
Т’1 = b(To + T2 – 2T1)
T’2 = b(T1 – 2T2 + T3)
……………………
T’i = b(Ti-1 – 2Ti + Ti+1)
Таким образом, в этом приближении задача свелась к системе обыкновенных дифференциальных уравнений. Чем
больше взято интервалов, тем больше эта система и тем
точнее результаты.
Задания:
- Написать программу для 10 и 20 интервалов и
сравнить полученные результаты. Для этого надо изменить
размерность системы дифференциальных уравнений с вытекающими последствиями.
Задание 43 Диффузия описывается уравнением такого же
вида, что и теплопроводность (уравнение Фика). Для одномерной задачи оно выглядит так: С/t = a2C/x2.
Рассмотрим пример. Пусть имеется конструкция из стеклянных трубок в виде буквы Н. Концентрации некоторого
вещества в газе, протекающем по двум параллельным
трубкам, равны С1 и С2 соответственно. Концентрация
этого вещества в соединительной трубке в момент времени t=0 равна 0.Как выглядит распределение концентрации
вдоль соединительной трубки в определенный момент
времени?
93
С точки зрения математики эта задача ничем не отличается от предыдущей задачи. Если время, концентрацию и
длину соединительной трубки рассматривать как безразмерные величины, то, выбрав числовое значение для коэффициента а, можно получить искомое распределение
вещества в соединительной трубке в определенный момент времени.
Как выглядит стационарное распределение концентраций? Чтобы ответить на этот вопрос, надо рассчитать распределение при нескольких значениях t и выбрать такое,
которое не меняется с увеличением t.
Задание 44 Дана трубка, диаметр которой много меньше
ее длины. Трубка запаяна с обеих сторон, и посередине
имеется закрытый кран. Левая половина трубки заполнена
газом А, правая – газом В. Давление в обеих частях трубки
одинаково. В момент времени t=0 кран открывают. Как
выглядит распределение газов А и В вдоль трубки в определенный момент времени? В каждом поперечном сечении
концентрации газов постоянны.
Поскольку давление в обеих частях трубки одинаково и
при открытом кране давление вдоль всей трубки тоже будет постоянным, можно ограничиться расчетом распределения вещества А. Парциальное давление вещества В равно разности общего давления и парциального давления
вещества А.
Разделим трубку на n равных частей. Тогда система
дифференциальных уравнений для внутренних интервалов аналогична системе из предыдущего задания. Лишь
дифференциальные уравнения для первой точки х 1 и последней хn+1 в этой задаче другие, т.к. концентрации в этих
точках так же, как и в остальных, изменяются. Система
дифференциальных уравнений при n=10 имеет вид:
94
[A1]’ = b([A2] – [A1])
[A2]’ = b([A1] – 2[A2] + [A3])
…………………………….
[Ai]’ = b([Ai-1] – 2[Ai] + [Ai+1])
…………………………….
[A10]’ = b([A9] – 2[A10] + [A11])
[A11]’ = b([A10] –[A11])
Дифференциальные уравнения для А1 и А11 можно получить из уравнения Фика. В крайних точках х1 и х11 диффузия происходит только в одном направлении. Эти уравнения можно вывести гораздо проще, исходя из уравнения
материального баланса. Общая масса веществ А и В в
трубке постоянна. Поэтому сумма всех изменений концентраций вещества А должна равняться нулю:
[A1]’ + [A2]’ +[A3]’ +[A4]’ +[A5]’ +[A6]’ +[A7]’ +[A8]’
+[A9]’ +[A10]’ +[A11]’ = 0
Задание 45 Имеется длинная трубка, заполненная чистым
растворителем. С двух сторон в момент времени t=0 вводится твердое вещество А. Это вещество сравнительно малорастворимо в данном растворителе, так что на концах
трубки все время поддерживается концентрация СS, равная
растворимости вещества А при данной температуре. Если
надо рассчитать просто распределение вещества А вдоль
трубки в определенный момент времени, то эта задача
легко решается по аналогии с первоначальной. Но, если
допустить, что вещество А вступает в химическую реакцию, скорость которой подчиняется кинетическому уравнению порядка n по концентрации этого вещества. Таким
образом, имеем дело с реакционно-диффузионным процессом. Соответствующее дифференциальное уравнение
выглядит следующим образом (к уравнению Фика добав95
лен еще один член, соответствующий химической реакции):
C
 2C
 a  2  k Cn .
t
x
Рассчитать распределение вещества вдоль трубки,
учитывая протекающую в системе химическую реакцию.
Для этого надо к правой части каждого из дифференциальных уравнений добавить член. Соответствующий скорости расходования вещества А на данном интервале,
например:
C’5 = b(C4 – 2C5 + C6) – kCn5.
Задание 46 Рассмотрим модель процесса, связанную с
проблемой загрязнения окружающей среды. В этой очень
упрощенной модели предполагается, что концентрации
двух веществ А и В у поверхности Земли постоянны. Кроме того, концентрации обоих веществ на высоте hе очень
быстро уменьшаются до нуля (например, в результате фотохимических реакций). Пока задача выглядит как простая
задача о диффузии двух различных веществ, и поэтому
число дифференциальных уравнений удваивается. Однако,
если предположить, что вещества А и В вступают в химическую реакцию, которая описывается кинетическим
уравнением:  = k[A][B].
Найти распределение веществ А и В по высоте (распределение веществ вдоль поверхности в этом случае считается постоянным). Система уравнений составляется так же
как в предыдущем задании. Например:
[A5]’ = b([A4] – 2[A5] + [A6]) – k[A5][B5]
[B5]’ = b([B4] – 2[B5] + [B6]) – k[A5]]B5]
96
(для прочих интервалов уравнения составляются аналогично).
Задание 47 Распад радиоактивного элемента сопровождается выделением тепла. Из сплава этого элемента изготовлены шарики. Начальная температура шарика в момент
изготовления t=0 Т=600оС. Затем шарики помещают в среду с температурой 40оС. Это означает, что на поверхности
шарика поддерживается постоянная температура, равная
40оС. Для расчета распределения температуры уравнение
Фурье надо дополнить членом, отвечающим тепловыделению. Трехмерную задачу для шара можно свести к одномерной, если рассматривать радиальное распределение
температуры. Для этого радиус делят на n равных частей и
для каждого отрезка составляют дифференциальное уравнение.
Рассчитать радиальное распределение в различные моменты времени. Как выглядит распределение температуры
через очень большой промежуток времени?
Задание 48 Рассмотрим однородную квадратную пластину, стороны которой имеют разную температуру. Обе
верхние грани пластины термически изолированы, и теплообмен со средой происходит только через боковые стороны. Уравнение, описывающее распределение температуры в пластине, представляет собой двухмерное уравнение Фурье:
T (t , x, y )
 2T (t , x, y )
 2T (t , x, y )
 c
c
.
(1)
t
x 2
y 2
Распределение называется стационарным, если со временем оно больше не изменяется. Это означает. Что про-
97
изводная от температуры по времени становится равной
нулю:
 2T (t , x, y )
 2T (t , x, y )
(2)

c

 0.
x 2
y 2
Если разделить каждую сторону пластины на (n-1) равных частей длиной h, то вторые производные можно аппроксимировать отношением конечных приращений, как
это не раз делалось в предыдущем разделе:
 2T ( x, y ) T ( x  h, y )  2  T ( x, y )  T ( x  h, y )
;

x 2
h2
c
 2 T ( x, y ) T ( x, y  h )  2  T ( x, y )  T ( x , y  h )
.

y 2
h2
Подстановка этих приближенных соотношений в уравнение (2) дает:
T(x+h, y) - 4T(x, y) + T(x-h, y) + T(x, y+h) + T(x, y-h) = 0 (5)
Или при использовании индексированных переменных:
T(xi+1, yj) – 4T(xi, yj) + T(xi-1, yj) + T(xi, yj+1) + T(xi, yj_1) = 0.
Это уравнение справедливо для всех точек внутри указанного квадрата. На границах квадрата поддерживается
заданная температура, на каждой стороне различная. В углах квадрата температура равна среднему арифметическому температур соседних сторон. Если каждая сторона
квадрата разделена на (n-1) частей, то получится система
(n-2)2 линейных уравнений, которую и необходимо решить. Для решения такой системы уравнений уместнее
использовать метод Гаусса-Зайделя, который применяется,
как правило, и тех случаях, когда матрица коэффициентов
имеет диагональное преобладание. Решив уравнение (5)
относительно Т(х,у), получим:
98
T(x,y) = [T(x+h, y) + T(x-h, y) + T(x, y+h) + T(x, y-h)]/4
или:
T(xi, yj)н = [T(xi+1, yj) + T(xi-1, yj) + T(xi, yj+1) + T(xi, yj-1)]/4.
(8)
В качестве начального приближения выбирают какоенибудь распределение, например, всем внутренним точкам
квадрата присваивается температура, равная средней
арифметической температуре его сторон. Затем по итерационной формуле (8) для всех точек рассчитывают новые
значения Т(хi, уj)н. Итерационную процедуру можно закончить, если новые значения почти не отличаются от
предыдущих. В противном случае проводится следующая
итерация, в которой используются эти новые значения Т.
Написать программу для расчета стационарного распределения температуры в образце кубической формы. Количество интервалов может быть невелико. Попытаться составить программу так, чтобы можно было рассчитывать
температуру и в прямоугольнике и в параллелепипеде.
Задание 49 Рассчитать стационарное распределение температуры в грануле катализатора, имеющей форму прямоугольного параллелепипеда. Температура шести граней
задана (обычно все грани имеют одинаковую температуру). В результате химической реакции в грануле катализатора постоянно выделяется тепло. Чтобы учесть это надо
добавить к правой части итерационной формулы (8) постоянный членю соответствующий количеству тепла, выделяющегося в единицу времени. Например, для гипотетической двухмерной гранулы:
T(i,j) = (To(i+1, j) + To(i-1, j) + To(i, j-1))25 + 10.
99
Задание 50 Для решения ряда задач и описания многих
процессов используются системы нелинейных уравнений
и нелинейные регрессии.
Дана система химических реакций:
k1
A 
продукт1..термическая _ реакция 
k2
A 
продукт2..фотохимическая _ реакция 
Из этой схемы следует кинетическое уравнение:
d [ A]
 k1  k 2   [ A]  (k 0.1  e  E1 / RT  k 2 )  [ A] ,
dt
примем к0.1 = 11012 с-1.
При Т=300 К время полупревращения вещества А составляет 0.5985 с, при Т=350 К – 0.14 с. Рассчитать энергию
активации Е1 и константу скорости фотохимической реакции к2 методом Ньютона с применением матрицы Якоби.
Итерационная формула этого метода: x1 = xo – f(xo) / f’(xo).
 f1 f1 
;
;.. 

 x1 x 2 
 f f

 2 ; 2 ;.. 
Матрица Якоби: F ' ( x)   x1 x 2  . Но лучше пользо ...........



 f n f n 
 x ; x ;.. 
2
 1

ваться следующей системой уравнений: (Xi – Xi+1) =
[F’(Xi)]-1F(Xi)
F’(Xi)(Xi – Xi+1) = F’(Xi)[F’(Xi)]-1F(Xi)
F’(Xi)(Xi – Xi+1) = F(Xi)
Это сокращенная форма записи системы линейных уравнений с матрицей коэффициентов F’(Xi) и вектором
100
правых частей F(Xi). Вектором решения является разность
векторов старого и нового решения системы нелинейных
уравнений – вектор (Хi – Xi+1). Отсюда можно легко
рассчитать Xi+1, так как вектор Xi известен.
Указание:t1/2 = log2/(k1 + k2).
Задание 51
Уравнение Ван-дер-Ваальса имеет вид:
(p + a/V2)(V – b) = nRT
Надо определить константы Ван-дер-Ваальса для этана,
исходя из определенных экспериментально значений молярных объемов при двух значениях давления. Если входящие в уравнение величины имеют размерность литр, атмосфера, моль и градус Кельвина, то универсальная газовая постоянная будет равна 0.08206 латм.(мольЛ).
Экспериментальные данные для 1 моля этана при 400 К:
р = 3.2486 атм при V=10 л; р = 29.577 атм при V=1
л. Если известны более, чем две пары значений давления и
объема, то система уравнений будет переопределенной.
Для определения параметров таких систем используется
нелинейная регрессия, которая будет рассмотрена позже.
Задание 52 Дана последовательная реакция:
k1
k2
A 
B 
C.
Скорость расходования и накопления вещества В описывается формулой:
r
d [ B]
 k1  [ A]  k 2  [ B]  k 0.1  e  E1 / RT  [ A]  k 0.2  e  E2 / RT  [ B]
dt
.
Скорость реакции измерена при 4 различных концентрациях и температурах (табл.). Рассчитать четыре параметра
101
уравнения Аррениуса к0.1 , Е1, к0.2, Е2. Правильное решение
этого задания:
к0.1 = 21012, Е1 /R = 9500, к0.2 = 11013, Е2 /R = 10000.
Зная решение можно опытным путем установить,
насколько грубым может быть начальное приближение.
[A]
[B]
T
1
1
2
1
1
2
1
1
300
310
320
330
r
+1.96610-3
-0.0975
+0.2435
-0.06219
Задание 53 Температурная зависимость константы скорости реакции первого порядка описывается уравнением Аррениуса. Кроме того получены константы скорости при
различных температурах (таблица). Определить предэкспоненциальный множитель и энергию активации Еа как с
помощью линейной регрессии, используя линейную зависимость log(k) от 1/Т, так и с помощью нелинейной регрессии. Для нелинейной регрессии лучше пользоваться
хорошим начальным приближением, которое в данном
случае можно легко получить из линейной регрессии. На
контрольном примере, в котором входные данные рассчитаны по уравнению Аррениуса, можно убедиться, что результаты обоих вариантов анализа экспериментальных
данных совпадают тем лучше, чем точнее экспериментальные значения соответствуют уравнению Аррениуса,
т.е. чем меньше погрешность измерений. Несовпадающие
результаты линейного и нелинейного регрессионного ана102
лиза можно объяснить тем, что в этих алгоритмах минимизируются разные функционалы.
K, c-1
410-8 710-7 810-6 710-5 510-4 310-3 210-2
T, K
320
340
360
380
400
420
440
Задание 54Получены 10 пар экспериментальных значений, которые описываются изотермой адсорбции (см.
начало пункта), приведенной в таблице.

0.05
0.86
0.09
0.93
Р
2
500
4
1000
0.15
0.23
0.34
0.48
0.64
0.77
8
15
30
60
130
250
Определить параметры k1, k2, k3. При решении этой задачи
использовать коэффициент оптимизации существенно
меньшим единицы…….
Пусть дано уравнение, связывающее определяемые экспериментально величины х и у и физические параметры
к1, к2, …, кn:
y = f(x, k1, k2, …, kn). Кроме того, известно m пар экспериментальных значений (xi, yi). Исходя
из заданного уравнения и экспериментальных данных,
необходимо определить значения параметров k1, k2, …, kn
таким образом, чтобы сумма квадратов отклонений экспериментальных значений у от теоретических была минимальна. Например, дано уравнение изотермы адсорбции
для двух различных центров адсорбции:

k p
k1  p
 k2  3
(1  k 2 ) ,
1  k1  p
1  k3  p
103
где
 - степень заполнения поверхности, р – давление газа над
поверхностью.
Из экспериментально полученного ряда значений (i, pi)
необходимо определить параметры изотермы к1, к2, к3. Задача состоит в том, чтобы найти такие значения параметров, при которых сумма S будет иметь наименьшее значение:
m
S   ( y i ,òåîð  y i , ýêñï ) 2
i 1
m
S   [ f ( xi , k1 , k 2 ,..., k n )  y i ] 2
i 1
В точке минимума суммы квадратов отклонений все n
частные производные от S по параметрам kj равны нулю:
S
S
S

 ... 
0
k1 k 2
k n
После дифференцирования по параметрам kj получаем n
уравнений, причем j-ое уравнение выглядит следующим
образом:
f ( x1 ,..., k n )
S
 2 [ f ( xi , k1 ,..., k j ,..., k n )  y i ] 
0
k j
k j
Для определения неизвестных параметров k1, k2, …, kn
надо решить систему из n нелинейных уравнений.
104
Download