Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Program RIS;
Const n=4; m=2;
l=6;
R=8.314;
R1=0.00845;
PP=0.103;
Type mas1=array[1..n] of real;
mas2=array[1..n+1] of real;
mas3=array[1..m] of real;
mas4=array[1..l] of real;
Var c,a,b,p,d:mas1;
f:mas2;
k,k0,E,Q:mas3;
tau:mas4;
t,tk,h,tem,xa,ca0,cb0,cc0,cd0,tem0:real;
i, j, jn, nn: integer;
f1,f2:text;{файловые переменные}
{процедура для расчёта правых частей уравнений математической модели РИС}
Procedure pr(c:mas1;k,Q:mas3;tau:mas4;tem:real;var f:mas2);
var cp,s:real; {теплоёмкость реакционной смеси}
cc:mas1;
begin
{пересчёт концентраций в мольные доли}
s:=0;
for i:=1 to n do
s:=s+c[i];
for i:=1 to n do
cc[i]:=c[i]/s;
cp:=0;
for i:=1 to n do
cp:=cp+(a[i]+b[i]*tem+p[i]*tem*tem+d[i]*tem*tem*tem)*4.1887*cc[i];
f[1]:=(ca0-c[1])/tau[j]-k[1]*c[1];
f[2]:=(cb0-c[2])/tau[j]+k[1]*c[1]-k[2]*c[2];
f[3]:=(cc0-c[3])/tau[j]+k[2]*c[2];
f[4]:=(cd0-c[4])/tau[j]+k[2]*c[2];
f[5]:=(tem0-tem)/tau[j]+(Q[1]*k[1]*c[1]+Q[2]*k[2]*c[2])*R1*tem/PP/cp;
end;
begin {Основная программа}
assign(f1,'dris.pas'); reset(f1);
assign(f2,'rris.pas'); rewrite(f2);
readln(f1,ca0,cb0,cc0,cd0);
for i:=1 to m do read(f1,k[i]); readln(f1);
for i:=1 to m do read(f1,E[i]); readln(f1);
for i:=1 to m do read(f1,Q[i]); readln(f1);
readln(f1,h,tk,tem0);
for i:=1 to l do read(f1,tau[i]); readln(f1);
for i:=1 to n do readln(f1,a[i],b[i],p[i],d[i]);
for i:=1 to m do
k0[i]:=k[i]/exp(-E[i]/(R*tem0));
nn:=Trunc(Int(tk/h/10));
writeln(f2,' Результаты расчёта');
writeln(f2);
for j:=1 to l do
begin
t:=0; jn:=0; c[1]:=ca0; c[2]:=cb0; c[3]:=cc0; c[4]:=cd0; tem:=tem0;
writeln(f2,'Таблица-',j,' Расчёт РИС для времени контакта ', tau[j]:4:1,' сек');
writeln(f2,'Время, с n-C8H18 i-C8H18 C4H10 C4H8 T,K');
writeln(f2,t:5:0,c[1]:11:3,c[2]:10:3,c[3]:10:3,c[4]:10:3,tem:12:3);
repeat
t:=t+h; jn:=jn+1;
for i:=1 to m do
k[i]:=k0[i]*exp(-E[i]/(R*tem));
pr(c,k,Q,tau,tem,f);
for i:=1 to n do
c[i]:=c[i]+h*f[i];
tem:=tem+h*f[n+1];
if jn=nn then begin
writeln(f2,t:5:0,c[1]:11:3,c[2]:10:3,c[3]:10:3,c[4]:10:3,tem:12:3);
jn:=0; end;
until t>=tk;
xa:=(ca0-c[1])/ca0;
writeln(f2,'Степень превращения в РИС xa=',xa:5:3);
writeln(f2);
end;
close(f1); close(f2);
end.
Дата публикования: 2015-03-26; Прочитано: 340 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!