?

雙水平井SADG軟件井眼軌跡仿真模塊設計與實現

2020-04-08 09:30陽萬里劉波濤
電腦知識與技術 2020年3期

陽萬里 劉波濤

摘要:采用“最小曲率法”對井眼軌跡進行建模,基于pandas進行數值預處理,利用Numpy進行科學計算,使用Matplotlib進行圖形可視化,最后利用PyQt完成GUI開發。文中給出了模塊設計的原理及算法,闡述了軟件模塊設計流程圖,最后給出了測試實例及結果。經過實際井斜數據的驗證表明,軟件模塊運行穩定,可視化效果良好,能有效指導實際開發過程。

關鍵詞:SAGD;井眼軌跡仿真;python; PyQt; Matplotlib

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2020)03-0267-03

隨著當今社會的發展,石油作為當前社會的工業血液,其需求也與日俱增。稠油作為一種非常規油氣,儲量豐富具有極大的開采潛力,因此稠油開采技術就成為當前石油開發技術研究的重點問題之一[1]。目前,稠油開采技術方案較多,如表面活性劑開采技術、改進的蒸汽法開采技術、微生物強化開采技術、井下催化反應法開采技術等[2]。其中,應用較為廣泛的是蒸汽輔助重力泄油(Steam Assisted G ravity Drainage.以下簡稱SAGD)技術[3],且多以雙水平井蒸汽輔助重力泄油技術[4]為主。雙水平井SACD有預熱和生產2個不同的開發階段,開發雙水平井SACD軟件,去揭示不同開發階段過程中油藏的不同發育形態,可以指導SAGD開發策略,具備極大的實際應用價值。在雙水平井SACD軟件中,溫度場與產量的計算都離不開井眼軌跡的計算和仿真,準確的井眼軌跡對于SACD的預熱階段溫度場擴展,生產階段蒸汽腔發育的狀態,都有很大的影響。

對于SACD數值模擬軟件來說,如CMG start,Eclipse500熱采模擬器等,其主要面對的是國外海相油藏,而中國國內多是陸相油藏,有一定參考價值但略顯不足。同時,該類軟件售價高昂,學習成本也不低,開發SACD軟件就有實際價值與意義。以下,以筆者研制的雙水平井SADG軟件井眼軌跡仿真為例,闡述設計思路與實現。

1 軟件設計原理及算法研究

雙水平井SAGD的井眼軌跡包括生產井井眼軌跡與注入井井眼軌跡,其實際上是兩條三維空間的曲線,而實際油藏開發過程中,井眼軌跡數據并不是直接的三維空間數據坐標,必須經過算法轉換、數值建模,才能將井眼軌跡數據轉為三維空間數據,最后用以可視化顯示[8]。

1.1 井眼軌跡仿真理論

井眼軌跡使用的坐標系為地理坐標系,包含正東(E),正北(N),正西(E),正南(S)和海拔高度(H)。井眼軌跡主要參數有很多,如井深,井斜角,井斜方位角,狗腿角,降斜點,增斜段等[6]。實際井眼軌跡數據是測量儀器在不同測點測量的數據,井眼軌跡在每個測點的參數包含3個,分別是測深,井斜角,井斜方位角[7],如圖1所示,A為上測點,C為下測點,0為上測點的垂線與下測點水平面的交點,下測點所在的平面為平面COD,其中,OD平行于N方向。

1.2 井眼軌跡仿真算法模型

井眼軌跡附近因蒸汽注入形成的三維溫度場,在時間與空間上都影響三維蒸汽腔發育狀態,所以三維井眼軌跡模型較為適用。三維井眼軌跡仿真模型[7]常用方法包括正切法、平衡正切法、最小曲率法、曲率半徑法等。為了計算精確的井眼軌跡模型[8],通常將井眼軌跡看作空間上連續的曲線或圓弧。筆者采用最小曲率算法計算井眼軌跡坐標[9]。

井軌跡空間狀態一般以O-NED坐標系來描述(見圖2)。其中原點0為井口,N是正北方,E是正東方,D是井垂直深度。

根據井眼軌跡測點數據,計算出每個測點在NED的偏移量,獲取井眼軌跡在坐標內的真實坐標。由于測量數據是不連續的,為得到較為連續的井眼軌跡,因此需對不連續的井眼軌跡坐標進行插值處理[10]。

2 井眼軌跡仿真模塊的設計與實現

井眼軌跡仿真模塊屬于雙水平井SADG軟件的一部分,其中包括GUI用戶交互、數據預處理、數值計算、計算結果可視化等。主要運用Python語言,需要的工具庫:CUI用戶交互(Py-Qt);井眼軌跡數據的預處理(Pandas);井眼軌跡坐標的數值計算(Numpy);圖形化展示(Matplotlib)。

2.1 模塊的流程框圖

模塊整體流程如圖3所示。由圖可知,該流程主要分為六大步,分別是加載數據、顯示數據、計算坐標、插值處理、顯示數據。

2.2 模塊的實現

為方便具體的用戶使用,整個井眼軌跡仿真模塊主要的功能實現由三個子模塊實現:子模塊一實現井眼軌跡數據的加載與錄入功能;子模塊二根據1.2章節最小曲率算法模型,實現井眼軌跡坐標的計算與插值處理;子模塊三實現在桌面顯示井眼軌跡與和用戶交互的功能。

2.2.1 子模塊一的實現

假設井眼軌跡控制類名稱為main_frame,實現如下:

obtain_we11_3D_coordinate_by_well_deviation(listReadedDa -ta1。

該函數的作用是將入讀的井斜數據listReadedData轉為真實的空間坐標。

2.2.2 子模塊二的實現

實現如下:

1) get_all_coordinate_point_3d(row_well_arr)。第一個參數為3*N的井眼軌跡的數據,包含井深,井斜角方位角。根據最小曲率算法,計算出相關的井眼軌跡每個點的空間坐標。

2) hole_trajectory_interpolation(well_coordinate, point_times)。該函數有兩個參數,well—coordinate代表插值的坐標數,point_times代表將點插值的倍數。

2.2.3 子模塊三的實現

實現如下:

1) draw_2d_well_by_data(well_datas. tab_canvas. is_scatter=True。x_label=N,y-label=TVD,axes_title=None)。該函數包含6個參數,well_datas井眼軌跡坐標數據,tab_canvas代表要繪制的畫布類,is_scatter代表的是繪制散點還是直線圖,true繪制散點圖,false繪制連續曲線圖,x_labe代表x軸的標簽,默認值為“N”,y_label代表ylabel的標簽,默認值為“TVD”(true verticaldepth),axes_title代表當前圖像的標題。返回繪制完成之后的畫布。

2) draw_3d_well_by_data(well_datas. tab_canvas. is_scatter=True,x_label=N,y-label=TVD,axes_title=None)。該函數包含6個參數,well_datas井眼軌跡坐標數據,tab_canvas代表要繪制的畫布類,is_scatter代表的是繪制散點還是直線圖,true繪制散點圖,false繪制連續曲線圖,x_labe代表x軸的標簽,默認值為“N”,y_label代表ylabel的標簽,默認值為“TVD”(true verticaldepth),axes_title代表當前圖像的標題。返回繪制完成之后的畫布。

3 實例與分析

點擊井眼軌跡仿真模塊,輸入生產井井斜數據,注入井井斜數據之后,點擊繪制井眼軌跡,可觀察圖形化結果。對現場生產井與注入井3101、310P數據進行應用,軟件具體運行結果如下圖4所示。

由圖可知,藍色曲線為注入井,紅色曲線為生產井,曲線較為光滑,雙水平井的井眼軌跡空間狀態展示良好,能反映實際情況。

4 結論

(1)基于最小曲率算法建立了雙水平井SACD的井眼軌跡仿真模型。

(2)系統地給出了設計與實現雙水平井SACD軟件井眼軌跡仿真模塊的開發思路,功能模塊流程圖,基本運行界面。

(3)應用研制的軟件模塊對現場注入井3101與生產井310P進行了應用,應用結果顯示,該軟件模塊具有很好的使用價值。

參考文獻:

[1]王陸新,潘繼平,婁鈺.近十年中國石油勘探開發回顧與展望[J]國際石油經濟,2018,26(07):65-71.

[2]賈學軍.高粘度稠油開采方法的現狀與研究進展[J].石油天然氣學報(江漢石油學院學報),2008(02):529-531+537.

[3]王大為,周耐強,牟凱,稠油熱采技術現狀及發展趨勢[J].西部探礦工程,2008(12):129-131.

[4]邊曉強.雙水平井SAGD超稠油生產優化研究[D].成都:西南石油大學, 2017.

[5]何亮亮.超稠油SAGD蒸汽腔擴展研究[D].成都:西南石油大學,2018.

[6]陳剛,楊雪,潘保芝,蔣必辭.井眼軌跡計算及可視化研究現狀[J]世界地質,2015,34(03):830-841.

[7]徐堪社.井眼軌跡計算及可視化系統研究與開發[D].西安:西安石油大學,2012.

[8]沙林秀,邱順,何雪.三維井眼軌跡可視化研究現狀與發展趨勢[J]石油機械,2019,47(02):33-39+48.

[9]曹傳文,薄珉,最小曲率法井眼軌跡控制技術研究與應用[J].石油鉆采工藝,2012,34(03):1-6.

[10]李文燕.復雜井眼軌跡的多目標優化技術研究[D].西安:西安石油大學。2019.

[11]魏佳,段友祥,李卿,孫歧峰,李洪強,面向地質導向的三維井筒可視化[J].計算機系統應用,2017,26(04):9-15.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合