Скачиваний:
35
Добавлен:
08.01.2014
Размер:
221.7 Кб
Скачать

Ввод исходных параметров:

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-

    1. Алгоритм и программа расчета равновесия и температуры кипения бинарных и многокомпонентных смесей с использованием уравнения модели НРТЛ.

а.) Алгоритм расчета равновесных составов и температуры кипения по уравнению модели НРТЛ.