陳云(中國(guó)石化銷售股份有限公司華東分公司,上海200050)
本文首先收集了一條實(shí)際在用某長(zhǎng)輸成品油管道的物理數(shù)據(jù),該管道為支線架構(gòu),共5個(gè)站場(chǎng),主線分為A首站、B中間站、C中間站、D末站、其中支線段在B站處與主線匯集,支線末站為E末站。
該模型主要架構(gòu)如下,模擬實(shí)際調(diào)度場(chǎng)景,用戶輸入相關(guān)參數(shù)(A首站配泵、B站、C站下載量)計(jì)算穩(wěn)態(tài)工況下所有節(jié)點(diǎn)的參數(shù)情況(為簡(jiǎn)化計(jì)算,本文僅考慮全線柴油工況,柴油密度定為840kg/m3)。
為避免節(jié)流,節(jié)能降耗,管道正常運(yùn)行時(shí),主線調(diào)節(jié)閥及末站下載調(diào)節(jié)閥均處于全開狀態(tài),管線損耗以沿程摩阻損耗為主,管線運(yùn)行人員在進(jìn)行工況控制時(shí),一般只會(huì)控制首站配泵組合以及中間下載站流量,而末站的流量無法直接控制。根據(jù)該特點(diǎn),我們?cè)O(shè)定的模型的輸入量?jī)H有3個(gè),以模擬真實(shí)調(diào)度場(chǎng)景,即首站配泵模式、B站下載流量、C站下載流量,根據(jù)該部分輸入可直接計(jì)算出管線穩(wěn)態(tài)工況。
本模型主要基于MATLAB平臺(tái),共包含兩個(gè)M文件、Calculate.M 和Calculate_error.M,其中后者主要用于初始穩(wěn)態(tài)的摩阻計(jì)算、泵的壓力模擬及補(bǔ)償、并根據(jù)全線流量消耗摩阻及泵提供的壓力輸出一個(gè)error 值,該值在Calculate.M 中得到引用,主要用于D站的流量計(jì)算。程序的初始穩(wěn)態(tài)需要使用者提供3個(gè)參數(shù)、B站下載量、C站下載量、A站配泵模式。
為了簡(jiǎn)化計(jì)算,本文假設(shè)管線流量和壓力的變化都是實(shí)時(shí)無滯后的,即循環(huán)計(jì)算查找穩(wěn)態(tài)流量時(shí)不考慮瞬態(tài)影響。在知道A 站配泵、B 站、C 站下載量以后,需要計(jì)算D 站的下載量,根據(jù)站場(chǎng)設(shè)計(jì)流量區(qū)間,先設(shè)定D流量上下限區(qū)間(100~400)m3/h,在得到A站、B站、C站下載量后,分別取q2(D站下載量)=100和400 來分別計(jì)算E 站下載量以及全線的摩阻情況,并將這兩個(gè)情況下的摩阻分別同A站的泵出口壓力做差值(error值),再將兩個(gè)差值做乘積,根據(jù)這個(gè)乘積的正負(fù)來確定D站壓力是否處于合理區(qū)間。(如若泵出口壓力不夠,則差值為負(fù),如果泵出口壓力大于摩阻,則差值為正)。
當(dāng)error1×error2=0時(shí),說明有一個(gè)值是合理的,則將error為0時(shí)的流量賦值給q2;當(dāng)error1×error2>0,說明兩個(gè)都為正或負(fù),這種情況不可能發(fā)生,因?yàn)樵谠撃P蛥?shù)下,當(dāng)E站運(yùn)行時(shí),無論配泵模式和中間站下載流量如何調(diào)節(jié),始終不會(huì)發(fā)生D站穩(wěn)態(tài)流量小于100m3/h或大于400m3/h的情況。當(dāng)error1×error2<0,說明一正一負(fù),即合理流量應(yīng)處于100~400,創(chuàng)建循環(huán),當(dāng)error1×error2<0,取m=(qmin+qmax)/2,并用m 值計(jì)算出一個(gè)error3,再做比較,并重新賦值,如此循環(huán),直至尋找到qmin基本等于qmax,即最合理的q2值。
主要計(jì)算程序部分如下所示:
while abs(q_max-q_min)>0.000000001
error1=Calculate_Error(q_min,A_adjust,q_B,q_C);error2=Calculate_Error(q_max,A_adjust,q_B,q_C);if error1*error2==0 if error1==0 solution=q_min;else solution=q_max;end;break;elseif error1*error2<0 m=(q_min+q_max)/2; error3=Calculate_Error(m,A_adjust,q_B,q_C);if error3==0 solution=m;break;elseif error1*error3<0 q_max=m; else q_min=m; end;else end; solution=m;end;q2=solution;
error 值的計(jì)算主要在Calculate_Error 中實(shí)現(xiàn),主要邏輯是根據(jù)反算出的E站流量來計(jì)算全線的摩阻,并且同A站的泵出口壓力做差值。當(dāng)error=0 時(shí),我們即可認(rèn)為全線摩阻已經(jīng)配平,基本符合實(shí)際工況(在程序中,根據(jù)經(jīng)驗(yàn),D 站、E 站所連油罐由于直通大氣,站外穩(wěn)態(tài)壓力設(shè)置為0.2MPa)。
在配置好某實(shí)際在用管道的物理參數(shù)后,在MATLAB中調(diào)試可得如下結(jié)果:A 站出站流量:763.9m3/h;B 站下載流量150 m3/h;C站下載流量140 m3/h;D站下載流量170.3 m3/h;E站下載流量303.6 m3/h。經(jīng)過與管線實(shí)際運(yùn)行情況比較,A 站、D 站、E站流量基本同實(shí)際一致,誤差均小于5m3/h,滿足使用要求。
文章創(chuàng)新性的提出了一種基于MATLAB 的長(zhǎng)輸管線水力模型構(gòu)建方法,該方法可以拓展至所有管線,可大幅提升工藝人員工作效率,而且該架構(gòu)可以在此基礎(chǔ)上進(jìn)一步深化,繼續(xù)研究長(zhǎng)輸管道的混油模型以及瞬變流模型,具有深化應(yīng)用的價(jià)值。