Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Результаты вычислений




Файл api.php

Файл main.php

Листинг

<?php

$a=0;

$b=0;

$pi=pi();

$R=8.31;

//Задаем пластовые условия

$patm=20000000;

$T=300;

//Метанол CH40

$dolya[1]=0.4;

$Pkr[1]=7990000;

$Tkr[1]=512.6;

$Vkr[1]=0.000118;

$omega[1]=0.559;

//Изобутан C4H10

$dolya[2]=0.1;

$Pkr[2]=3600000;

$Tkr[2]=408.1;

$Vkr[2]=0.000263;

$omega[2]=0.176;

//Дихлорбензин C6H4Cl2

$dolya[3]=0.5;

$Pkr[3]=4050000;

$Tkr[3]=697.3;

$Vkr[3]=0.000360;

$omega[3]=0.272;

$V=0.999997;

$L=0.000003;

include ('api.php');

//Давление нассыщенных паров

for ($i=1;$i<=3;$i++)

{

$Pnas[$i]=exp(5.37*(1+$omega[$i])*(1-$Tkr[$i]/$T))*$Pkr[$i];

$Kraspr[$i]=$Pnas[$i]/$patm;

}

$SUMM=10;

while($SUMM>0.000000000001) {

for ($i=1;$i<=3;$i++)

{

$xx[$i]=$dolya[$i]/($L*($Kraspr[$i]-1)+1);

$yy[$i]=($dolya[$i]*$Kraspr[$i])/($V*($Kraspr[$i]-1)+1);

//echo "x=$xx[$i] y=$yy[$i]<br>";

}

$vapour = calc_v($xx, 1);

$liquid = calc_v($yy, 2);

///echo $liquid.'<br>';

//echo $vapour.'<br>';

$fugV = calc_integral($patm, 100, $vapour);

$fugL = calc_integral($patm, 100, $liquid);

//echo $fugL.'<br>';

//echo $fugV.'<br>';

for ($i=1;$i<=3;$i++) {

$SUMM=0;

$fugitivnostL[$i]=$fugL*$patm*$dolya[$i];

$fugitivnostV[$i]=$fugV*$patm*$dolya[$i];

$SUMM=$SUMM+pow((1-$fugitivnostL[$i]/$fugitivnostV[$i]),2);

$Kraspr[$i]=$fugitivnostL[$i]/$fugitivnostV[$i];

}

}

$xsum=0;

$ysum=0;

for ($i=1;$i<=3;$i++)

{

$xsum=$xsum+$xx[$i];

$ysum=$ysum+$yy[$i];

echo "x=$xx[$i] y=$yy[$i]<br>";

}

echo $xsum.' '.$ysum.'<br>';

echo $SUMM;

?>

 

<?php

function calc_b($Tkr,$Pkr,$R=8.31) {

$b=0.077*$R*$Tkr/$Pkr;

return $b;

}

function calc_a($Tkr,$Pkr,$omega,$T,$R=8.31) {

$apr=0.45*(pow($R*$Tkr,2))/$Pkr;

$Tpr=$T/$Tkr;

$m=0.37+1.5*$omega-0.269*(pow($omega,2));

$alT=1+pow(($m-$Tpr),2);

$a=$apr*$alT;

return $a;

}

function calc_v($dolya = array(), $type) {

$a=0;

$b=0;

$pi=pi();

$R=8.31;

//Задаем пластовые условия

$patm=20000000;

$T=300;

//Метанол CH40

 

$Pkr1=7990000;

$Tkr1=512.6;

$Vkr1=0.000118;

$omega1=0.559;

//Изобутан C4H10

 

$Pkr2=3600000;

$Tkr2=408.1;

$Vkr2=0.000263;

$omega2=0.176;

//Дихлорбензин C6H4Cl2

 

$Pkr3=4050000;

$Tkr3=697.3;

$Vkr3=0.000360;

$omega3=0.272;

//Считаем константы a и b

$a_ar[1]=calc_a($Tkr1,$Pkr1,$omega1,$T);

$a_ar[2]=calc_a($Tkr2,$Pkr2,$omega2,$T);

$a_ar[3]=calc_a($Tkr3,$Pkr3,$omega3,$T);

for ($i=1;$i<=3;$i++) {

for ($j=1;$j<=3;$j++) {

$a=$a+$dolya[$i]*$dolya[$j]*pow($a_ar[$i]*$a_ar[$j],1/2);

}

}

$b_ar[1]=calc_b($Tkr1,$Pkr1);

$b_ar[2]=calc_b($Tkr2,$Pkr2);

$b_ar[3]=calc_b($Tkr3,$Pkr3);

 

for ($i=1;$i<=3;$i++) {

$b=$b+$b_ar[$i];

}

 

//Замененные параметры приведенного уравнения Пенга-Робинсона

$c=($b*$patm)/($R*$T);

$d=(($a*(pow($c,2)))/((pow($b,2))*$patm))-(3*(pow($c,2)))-(2*$c);

//Коэффициенты для метода Кардана

$p=$d-((pow(($c-1),2))/3);

$q=(2*(pow(($c-1),3))/27)-((4*$c*$d)/3)-(2*(pow($c,3)))-((pow($c,2)))+($d/3);

$QQ=(pow($p/3,3))+(pow($q/2,2));

if ($QQ<0 && $p<0)

{

$alpha=acos(-$q/(2*(pow(-1*(pow(($p/3),3)),1/2))));

$tay1=2*pow(-$p/3,1/2)*cos($alpha/3);

$tay2=-2*pow(-$p/3,1/2)*cos($alpha/3+$pi/3);

$tay3=-2*pow(-$p/3,1/2)*cos($alpha/3-$pi/3);

if ($type=2) {

if ($tay2<$tay1 && $tay2<$tay3) $tay=$tay2;

if ($tay1<$tay2 && $tay1<$tay2) $tay=$tay1;

if ($tay3<$tay1 && $tay3<$tay1) $tay=$tay3;

}

if ($type=1) {

if ($tay2>$tay1 && $tay2>$tay3) $tay=$tay2;

if ($tay1>$tay2 && $tay1>$tay2) $tay=$tay1;

if ($tay3>$tay1 && $tay3>$tay1) $tay=$tay3;

}

}

elseif ($QQ>=0 && $p>0)

{

$betta=atan((2/$q)*pow($p/3,3/2));

$alpha=atan(pow(tan($betta/2),1/3));

$tay=-2*pow($p/3,1/2)*(1/(tan(2*$alpha)));

}

elseif ($QQ>=0 && $p<0)

{

$betta=asin((2/$q)*(pow(pow((-$p/3),3),1/2)));

echo $betta;

$alpha=atan(pow(tan($betta/2),1/3));

$tay=(-2*pow(-$p/3,1/2))/sin(2*$alpha);

}

 

$z=$tay+($c-1)/3;

 

//$v=$z*$R*$T/$patm;

//return $v;

return $z;

 

}

function calc_integral($p,$dp,$zin) {

$ex=0;

$integral=0;

while ($ex<=$p) {

$integral=$integral+(($zin-1)/$p)*$dp;

$ex=$ex+$dp;

}

return $integral;

}

?>

Введем следующие обозначения:

· мольная доля метанола в жидкой фазе

· мольная доля метанола в газовой фазе

· мольная доля изобутана в жидкой фазе

· мольная доля изобутана в газовой фазе

· мольная доля дихлорбензина в жидкой фазе

· мольная доля дихлорбензина в газовой фазе

При нулевых условиях (200 атмосфер и 300 градусов кельвина):

=0.399999972077 =0.0999999930192 =0.499999965096 =0.400000027288 =0.100000006822 =0.50000003411

Дополнительные точки для анализа:

При повышении давления на 100 атмосфер от нулевых условий, получим:

=0.399999960107 =0.0999999900268 =0. 499999950134 =0.400000038609 =0.100000009652 =0.500000048262

При понижении давления на 100 атмосфер от нулевых условий, получим:

=0.39999998532 =0. 0999999963301 =0. 499999981651 =0.400000014502 =0.100000003626 =0.500000018128

При повышении температуры на 100 градусов кельвина от нулевых условий, получим:

=0.399999999707 =0.0999999999267 =0.499999999633 =0.400000000293 =0.100000000073 =0.500000000366

При понижении температуры на 100 градусов кельвина от нулевых условий, получим:

=0.399999739113 =0.0999999347783 =0.499999673892 =0.400000214298 =0.100000053574 =0.500000267872

 


 




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 689; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.