
Ввод
исходных параметров:X1, с11, c12, c13, c14, c21, c22, c23, c24, v1, v2, 12, 21, pобщ, tнач, t,
T=TНАЧ
Расчет
параметров уравнения Вильсона:
Расчет
коэффициентов активности:
Расчет
парциальных давлений (упругостей паров)
чистых компонентов: Pi0=exp(C1i
+ C2i/T
+ C3iT
+ C4ilnT).
Расчет
состава пара: yi
=
iPi0xi/P
Проверка условия:
T=T+T
нет
да
Вывод
результатов: yi*,
i,
ТКИП
-10-
б.) Программа расчета равновесных составов и температуры кипения по уравнению Вильсона.
{Программа по расчету равновесия в смеси ацетон-этанол-вода
с использованием уравнения Вильсона}
uses crt;
var
gamma : array [1..3] of real;
lymbda, deltag : array [1..3,1..3] of real;
x, y : array [1..3] of real;
C1, C2, C3, C4, V : array [1..3] of real;
t, summayi, EPS, razn, d : real;
i, j, h : integer;
procedure raschet_gammas;
var
i, j, k : integer;
sum1, sum2, sum3, chas : real;
begin
for i:=1 to 3 do
begin
sum1:=0;
for j:=1 to 3 do
sum1:=sum1+x[j]*lymbda[i,j];
sum2:=0;
sum3:=0;
chas:=0;
for k:=1 to 3 do
begin
sum2:=sum2+x[k]*lymbda[k,i];
for j:=1 to 3 do
sum3:=sum3+x[j]*lymbda[k,j];
chas:=chas+sum2/sum3;
end;
gamma[i]:=exp(1-ln(sum1)-chas);
end;
end;
function raschet_y (t:real) : real;
var
summayi : real;
Pi0 : real;
i : integer;
begin
summayi:=0;
for i:=1 to 3 do
begin
Pi0:=exp(C1[i]+C2[i]/(t+273.15)+C3[i]*(t+273.15)+C4[i]*ln(t+273.15));
y[i]:=gamma[i]*Pi0*x[i];
summayi:=summayi+y[i];
end;
raschet_y:=summayi;
end;
{Ацетон - 1, этанол - 2, вода - 3 }
begin
clrscr;
{Заданный состав смеси в мольных долях:}
x[1]:=0.15; x[2]:=0.25; x[3]:=0.60;
-11-
deltag[1,1]:=0; deltag[1,2]:=-272.30; deltag[1,3]:=41.11182;
deltag[2,1]:=704.90; deltag[2,2]:=0; deltag[2,3]:=70.98;
deltag[3,1]:=1880.67776; deltag[3,2]:=1055.08; deltag[3,3]:=0;
{Мольные объемы компонентов:}
V[1]:=104.0; V[2]:=49.6; V[3]:=18.7;
{Коэффициенты в уравнении Антуана для данных компонентов:}
C1[1]:=0.3461307*100; C2[1]:=-0.4873446*10000; C3[1]:=-0.3249502E-8;
C1[2]:=0.5070924*100; C2[2]:=-0.6784604*10000; C3[2]:=-0.1042392E-8;
C1[3]:=0.3079802*100; C2[3]:=-0.5966069*10000; C3[3]:=0.1030134E-8;
C4[1]:=-0.3422*10;
C4[2]:=-0.5360*10;
C4[3]:=-0.2500*10;
{Точность определения параметров равновесия:}
EPS:=0.001;
t:=0;
repeat
h:=h+1;
t:=t+0.001;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
lymbda[i,j]:=(V[j]/V[i])*exp(-deltag[i,j]/(1.987*(t+273.15)));
end;
end;
raschet_gammas;
gotoxy(4,1);
if h=1 then writeln('Подождите, идет процесс расчета |');
if h=2 then writeln('Подождите, идет процесс расчета |');
if h=3 then writeln('Подождите, идет процесс расчета |');
if h=4 then writeln('Подождите, идет процесс расчета /');
if h=5 then writeln('Подождите, идет процесс расчета /');
if h=6 then writeln('Подождите, идет процесс расчета /');
if h=7 then writeln('Подождите, идет процесс расчета -');
if h=8 then writeln('Подождите, идет процесс расчета -');
if h=9 then writeln('Подождите, идет процесс расчета -');
if h=10 then writeln('Подождите, идет процесс расчета \');
if h=11 then writeln('Подождите, идет процесс расчета \');
if h=12 then writeln('Подождите, идет процесс расчета \');
d:=h/12;
if d=1 then h:=0;
gotoxy(4,3);
writeln('tкип=',t:2:3);
razn:=raschet_y(t);
until (abs(razn-1)<EPS);
clrscr;
writeln;
writeln('Результаты расчета равновесия с использованием ур-ния Вильсона:');
writeln('Температура кипения смеси t=',t:2:3);
writeln('Компоненты смеси: ацетон этанол вода');
writeln('Состав паровой фазы: ',y[1]:2:6,' ', y[2]:2:6,' ',y[3]:2:6);
readln;
end.
-12-
Алгоритм и программа расчета равновесия и температуры кипения бинарных и многокомпонентных смесей с использованием уравнения модели НРТЛ.
а.) Алгоритм расчета равновесных составов и температуры кипения по уравнению модели НРТЛ.