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