Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
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.
Дата публикования: 2015-03-26; Прочитано: 329 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!