КАТЕГОРИИ: Архитектура-(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 градусов кельвина):
Дополнительные точки для анализа: При повышении давления на 100 атмосфер от нулевых условий, получим:
При понижении давления на 100 атмосфер от нулевых условий, получим:
При повышении температуры на 100 градусов кельвина от нулевых условий, получим:
При понижении температуры на 100 градусов кельвина от нулевых условий, получим:
Дата добавления: 2015-05-10; Просмотров: 716; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |