- •А.В. Кравцов, н.В. Ушева, е.А. Кузьменко,
- •1. Моделирование кинетики химических реакций
- •1.1. Лабораторная работа №1 Моделирование кинетики гомогенных химических реакций
- •Этапы развития химической кинетики
- •Основные понятия химической кинетики
- •Общие представления одношаговых методов решения обыкновенных дифференциальных уравнений
- •Варианты заданий
- •1.2 Лабораторная работа №2 Моделирование кинетики гетерогенных химических реакций
- •Кинетика гетерогенных химических реакций
- •Варианты заданий
- •2. Моделирование структуры потоков в аппаратах
- •2.1. Лабораторная работа №3 Исследование гидродинамики насадочного абсорбера
- •Типовые математические модели структуры потоков в аппаратах
- •М f tатематическое описание гидродинамики насадочного абсорбера
- •Варианты заданий
- •Содержание отчета
- •2.2. Лабораторная работа №4 Моделирование процесса смешения технологических потоков нефтехимического производства
- •Математическое описание процесса смешения
- •Варианты заданий
- •3. Моделирование тепловых процессов химической технологии
- •3.1. Лабораторная работа №5 Моделирование теплообменных аппаратов в стационарном режиме
- •Моделирование и интенсификация работы теплообменной аппаратуры
- •Моделирование теплообменных процессов
- •Варианты заданий
- •Пример результатов расчетов
- •4. Моделирование массообменных процессов химической технологии
- •4.1. Лабораторная работа №6 Исследование процесса разделения многокомпонентной смеси в газовом сепараторе
- •Разделение газожидкостных потоков в химико-технологических процессах
- •Расчет однократного испарения многокомпонентной углеводородной смеси
- •Варианты заданий
- •4.2 Лабораторная работа №7 Математическое моделирование процесса ректификации
- •Описание объекта моделирования
- •Основные уравнения модели
- •Варианты заданий и исходные данные для расчета процесса ректификации
- •5. Моделирование химических реакторов
- •5.1. Лабораторная работа №8 Моделирование гомогенных химических реакторов
- •Классификация реакторов
- •Математическая модель реактора идеального перемешивания
- •Математическая модель реактора идеального вытеснения
- •Исследование химического процесса, протекающего в гомогенном реакторе идеального смешения
- •Исследование химического процесса, протекающего в реакторе идеального вытеснения в стационарном режиме
- •Литература
- •Приложения Приложение а Программы расчета кинетики гомогенных химических реакций
- •Расчет кинетики химических реакций методом Эйлера
- •Расчет температурной зависимости скоростей химических реакций с использованием метода Эйлера
- •Расчет кинетики химических реакций методом Рунге-Кутта
- •Приложение б Программа расчета кинетики гетерогенных химических реакций
- •Приложение в Программа расчета гидродинамики насадочного абсорбера
- •Приложение г Программа расчета смесителя
- •Приложение д Программа расчёта теплообменника
- •Приложение е Программы расчета гомогенных химических реакторов
- •Программа расчёта реактора идеального вытеснения
- •Файл с исходными данными
- •Программа расчёта реактора идеального смешения
- •Файл с исходными данными
- •Приложение ж
- •1. Моделирование кинетики химических реакций 3
- •Математическое моделирование химико-технологических процессов
Расчет кинетики химических реакций методом Эйлера
Program kin;
type arr=array[1..4] of real;
const Ca0=0.8;Cb0=0.0;Cc0=0.0;Cd0=0;
k1=0.38;k2=0.27;
tk=10.0;h=1.0;
var
c,f:arr;
t:real;
i:integer;
F1:text;
Procedure pr(c:arr;var f:arr);
begin
f[1]:=-k1*c[1];
f[2]:=k1*c[1]-k2*c[2]*c[3]*c[3];
f[3]:=2*(k1*c[1]-k2*c[2]*c[3]*c[3]);
f[4]:=k2*c[2]*c[3]*c[3];
end;
begin assign(F1,'rkin.pas');
rewrite(F1);
t:=0.0;
c[1]:=Ca0;c[2]:=Cb0;c[3]:=Cc0;c[4]:=Cd0;
writeln(F1,'Таблица 1 – Расчет кинетики гомогенной химической');
writeln(F1,' реакции ');
writeln(F1,'Время,c Ca Cb Cc Cd');
writeln(F1,t:5:0,c[1]:6:2,c[2]:6:2,c[3]:6:2,c[4]:6:2);
while t<tk do
begin
t:=t+h;
pr(c,f);
for i:=1 to 4 do
c[i]:=c[i]+h*f[i];
writeln(F1,t:5:0,c[1]:6:2,c[2]:6:2,c[3]:6:2,c[4]:6:2);
end;
close(f1);
end.
Расчет температурной зависимости скоростей химических реакций с использованием метода Эйлера
Program kinel;
type mas=array[1..2] of real;
arr=array[1..4] of real;
const Ca0=0.8;Cb0=0.0;Cc0=0.0;Cd0=0;
k1:mas=(0.38,0.27);T1=580.0;
E:mas=(75000.0,56000.0);
R=8.314; Tn=550.0;Tk=600.0;
hT=10.0;ttk=10.0;h=0.05;
var
c,f:arr;
k,k0:mas;T,tt:real;i,j,n,jn:integer;
F1:text;
Procedure pr(c:arr;k:mas;var f:arr);
begin
f[1]:=-k[1]*c[1];
f[2]:=k[1]*c[1]-k[2]*c[2]*c[3]*c[3];
f[3]:=2*(k[1]*c[1]-k[2]*c[2]*c[3]*c[3]);
f[4]:=k[2]*c[2]*c[3]*c[3];
end;
begin assign(F1,'rel.pas');
rewrite(F1);n:=Trunc(Round(ttk/h/10));
for i:=1 to 2 do
k0[i]:=k1[i]*exp(E[i]/R/T1);
T:=Tn;jn:=1;
repeat tt:=0.0;j:=0;
c[1]:=Ca0;c[2]:=Cb0;c[3]:=Cc0;c[4]:=Cd0;
for i:=1 to 2 do
k[i]:=k0[i]*exp(-E[i]/R/T);
writeln(F1,'Таблица ',jn,' – Расчет кинетики гомогенной химической');
writeln(F1,' реакции при температуре T=',T:4:0,' C');
writeln(F1,'Константы k1=',k[1]:4:2);
writeln(F1,' k2=',k[2]:4:2);
writeln(F1,'Время,c Ca Cb Cc Cd');
writeln(F1,tt:5:0,c[1]:6:2,c[2]:6:2,c[3]:6:2,c[4]:6:2);
while tt<=ttk do
begin
tt:=tt+h;j:=j+1;
pr(c,k,f);
for i:=1 to 4 do
c[i]:=c[i]+h*f[i];
if j=n then
begin
writeln(F1,tt:5:0,c[1]:6:2,c[2]:6:2,c[3]:6:2,c[4]:6:2);
j:=0;
end;
end;
writeln(F1,'Степень превращения Ха=',((Ca0-c[1])/Ca0):6:2);
writeln(F1);
T:=T+hT;jn:=jn+1;
until T>Tk;
close(f1);
end.
Расчет кинетики химических реакций методом Рунге-Кутта
Program kinrk;
type arr=array[1..4] of real;
const k1=0.38; k2=0.27; h=0.05; Ca0=0.8; Cb0=0.0;Cc0=0.0;Cd0=0; tk=10.0; n=20;
var
f,c:arr;
t: real;
i,j: integer;
r1: text;
procedure pr(c:arr; var f:arr);
begin
f[1]:=-k1*c[1];
f[2]:=k1*c[1]-k2*c[2]*c[3]*c[3];
f[3]:=2*(k1*c[1]-k2*c[2]*c[3]*c[3]);
f[4]:=k2*c[2]*c[3]*c[3];
end;
procedure rk(var c:arr);
var c1, f, a1, a2, a3, a4: arr;
i: integer;
Begin
pr(c,f);
for i:=1 to 4 do
begin
a1[i]:=h*f[i];
c1[i]:=c[i]+a1[i]/2;
end;
pr(c1,f);
for i:=1 to 4 do
begin
a2[i]:=h*f[i];
c1[i]:=c[i]+a2[i]/2;
end;
pr(c1,f);
for i:=1 to 4 do
begin
a3[i]:=h*f[i];
c1[i]:=c[i]+a3[i];
end;
pr(c1,f);
for i:=1 to 4 do
begin
a4[i]:=h*f[i];
c[i]:=c[i]+(a1[i]+2*a2[i]+2*a3[i]+a4[i])/6;
end;
End;
Begin
assign (r1,'rrk.pas');
rewrite (r1);
c[1]:=Ca0;c[2]:=Cb0;c[3]:=Cc0;c[4]:=Cd0;
writeln (r1,'Значения концентраций');
writeln (r1,'Время ca cв сс сd');
writeln (r1, t:5:1,' ', c[1]:5:2,' ', c[2]:5:2,' ', c[3]:5:2,' ',c[4]:5:2);
repeat
t:=t+h;
rk(c);
j:=j+1;
if j=n then
begin
writeln (r1, t:5:1,' ', c[1]:5:2,' ', c[2]:5:2,' ', c[3]:5:2,' ',c[4]:5:2);
j:=0;
end;
until t>tk;
close (r1);
End.