?

Log in

No account? Create an account

Previous Entry | Next Entry

Реализован онлайн-расчет эквивалентной длины соединенных параллельно участков газопровода различных длин и диаметров.
Результат расчета может быть использован при определении пропускной способности или коэффициента гидравлической эффективности газопроводов.

Ссылка на онлайн-расчет à Link.

Методика расчета:

·    Шаг первый. Рассчитываются эквивалентные диаметры участков МГ, приведенные к максимальной длине имеющихся участков;
·    Шаг второй. Рассчитывается эквивалентная длина участков МГ, приведенная к максимальному из имеющихся диаметров участков МГ.

Результат расчета может быть использован для определения пропускной способности газопровода и коэффициента гидравлической эффективности.

Используемые при расчете выражения:

Эквивалентная длина параллельных участков газопровода:
equi_01
Эквивалентный диаметр последовательных участков газопровода:
equi_02
Размерность:

Длина (L) - метр;
Диаметр (D) - метр.

Листинг (PHP):
<?php
// Расчет эквивалентной длины магистрального газопровода
// (параллельное соединение, до пяти участков МГ включительно)
// Внимание!
// проверки на адекватность исходных данных
// выполняются на стороне клиента!
//
header('Content-Type^ text/html; charset=utf-8');
if ($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest'){
if ($_POST){
// исходные данные из клиента
$l1 = $_POST['l1'];
$d1 = $_POST['d1'];
//
$l2 = $_POST['l2'];
$d2 = $_POST['d2'];
//
$l3 = $_POST['l3'];
$d3 = $_POST['d3'];
//
$l4 = $_POST['l4'];
$d4 = $_POST['d4'];
//
$l5 = $_POST['l5'];
$d5 = $_POST['d5'];
// децимальный разделитель
$l1 = str_replace(",", ".", $l1);
$d1 = str_replace(",", ".", $d1);
//
$l2 = str_replace(",", ".", $l2);
$d2 = str_replace(",", ".", $d2);
//
$l3 = str_replace(",", ".", $l3);
$d3 = str_replace(",", ".", $d3);
//
$l4 = str_replace(",", ".", $l4);
$d4 = str_replace(",", ".", $d4);
//
$l5 = str_replace(",", ".", $l5);
$d5 = str_replace(",", ".", $d5);
// обработка массивов
$DataCount = 0;
//
if($l1>0 && $d1>0) {
$DataCount = $DataCount+1;
$l[1] = $l1;
$d[1] = $d1;
} else {
$l[1] = 0;
$d[1] = 0;
}
//
if($l2>0 && $d2>0) {
$DataCount = $DataCount+1;
$l[2] = $l2;
$d[2] = $d2;
} else {
$l[2] = 0;
$d[2] = 0;
}
//
if($l3>0 && $d3>0) {
$DataCount = $DataCount+1;
$l[3] = $l3;
$d[3] = $d3;
} else {
$l[3] = 0;
$d[3] = 0;
}
//
if($l4>0 && $d4>0) {
$DataCount = $DataCount+1;
$l[4] = $l4;
$d[4] = $d4;
} else {
$l[4] = 0;
$d[4] = 0;
}
//
if($l5>0 && $d5>0) {
$DataCount = $DataCount+1;
$l[5] = $l5;
$d[5] = $d5;
} else {
$l[5] = 0;
$d[5] = 0;
}
// расчет
$dmax = 0; $lsum = 0;
// наибольший диаметр и соответствующая длина
for ($x=1; $x<=5; $x++) {
if($l[$x]>0 && $d[$x]>0) {
if($d[$x]>$dmax) {
$dmax = $d[$x];
$lsum = $l[$x];
}
}
}
// приведение параллельных участков МГ к единой длине l
for ($x=1; $x<=5; $x++) {
if($l[$x]>0 && $d[$x]>0) {
$ad[$x] = Pow(($lsum*1000/($l[$x]*1000/(Pow($d[$x]/1000, 5.2)))),  5/26)*1000;
}
}
// приведение параллельного блока к одной нитке
$nsum = 0;
//
for ($x=1; $x<=5; $x++) {
if($l[$x]>0 && $d[$x]>0) {
$an[$x] = exp(log($ad[$x])*2.6)/exp(log($dmax)*2.6);
                $nsum = $nsum+$an[$x];
}
}
$le = $lsum/($nsum*$nsum);// эквивалентная длина, км
$de = Pow(($lsum*1000/($le*1000/(Pow($dmax/1000, 5.2)))),  5/26)*1000;
// приведение длины к максимальному диаметру
$nsum = exp(log($de)*2.6)/exp(log($dmax)*2.6);
$dle = $lsum/$nsum;
//
if ($dle>0){
$dmax = number_format($dmax, 1);
$dle = number_format($dle, 3);
$dmax = str_replace(",","",$dmax);
$dmax = str_replace(".",",",$dmax);
$dle = str_replace(",","",$dle);
$dle = str_replace(".",",",$dle);
$resrt = '<p>Количество участков МГ: '.$DataCount.'</p>';
//
$resrt = $resrt.'<p>Приведенный диаметр: '.$dmax.' мм</p>';
//
$resrt = $resrt.'<p>Эквивалентная длина: '.$dle.' км</p>';
print $resrt;
} else {
print '<p>Ошибка расчета: нулевое значение длины.</p>';
}
}
}
?>




Posts from This Journal by “транспорт газа” Tag

Latest Month

November 2018
S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 

Tags

Free counters!




Powered by LiveJournal.com
Designed by yoksel