999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

油藏產能評價系統的設計與實現

2020-08-26 07:46:55龔安姚鑫杰
電腦知識與技術 2020年20期

龔安 姚鑫杰

摘要:針對油臧體積壓裂水平井生產過程中滲吸對采油的影響,設計實現了一種基于Windows平臺下的油藏體積壓裂下產能系統。基于分形理論和半解析方法,建立了考慮滲吸的多元線性分形模型,采用Visual Studio與MA'rLAB混合編程和多線程技術,實現了項目管理、模型計算、分析對比可視化等功能,并提升了數據處理速度。為了提高系統的穩定性,減少資源開銷,設計了系統異常檢測,采用線程池和異步操作。實踐表明,油藏體積壓裂下產能系統作為現代油田開發技術的科學決策工具,在工程和研究中起著重要的作用。

關鍵詞:油藏;體積壓裂;分形;滲吸;多線程;混合編程

中圖分類號:TP391.9 文獻標識碼:A

文章編號:1009-3044(2020)20-0009-04

Design and Implementation of Reservoir Productivity Evaluation System

GONG An. YAO Xin-jie

(College of Computer Science and Technology, China University of Petroleum (East China), Qingda0 2665 80. China)

Abstract: Aiming at the effect of' imhibition on oil recovery during the production of horizontal wells in reservoir volume fracturing,a productivity system under reservoir volume fracturing based on Windc}ws platform is designed and implemented. Based on fractaltheory and semi-analytical method, a multivariate linear fractal model considering imbibition was established. Using Visual Studioand MATLAB mixed programming and multi-threading technology, it realized the functions of project management, model calcula-tion, analysis and comparison visualization and improved data processing speed. In order to improve the stability of the system andreduce resource overhead, the system anomaly detection is designed, using thread pool and asynchronous operation. Practice showsthat the productivity system under reservoir volume fracturing, as a scientific decision tool for modern oilfield development technol-ogy, plays an important role in engineering and research.

Key words: reservoir: volume fracturing; fractal; multithreading; hybrid programming

1背景

隨著國內外學者們不斷深入研究,在油藏體積壓裂水平井中建立體積壓裂水平井多區復合流動模型逐漸發展完善,但是目前的多區復合流動模型并不能準確地描述油藏儲層體積壓裂水平井滲流特征。因此迫切需要提出一個結合油藏儲層特征和體積壓裂縫網結構的水平井流動模型來描述流體滲流規律[1]。為了更好地描述油藏體積壓裂水平井生產過程中滲吸對采油的影響,利用油藏工程和數值模擬方法,考慮滲吸作用下,對油藏縫網條件下產能計算模型進行研究。擬基于多區耦合的壓裂水平井產能計算流動模型,重新劃分不同流動特征的滲流區域,考慮引入竄流修正項對滲吸區域進行精細刻畫,建立綜合考慮啟動壓力梯度以及滲吸機制的多區耦合滲流數學模型[2],對不同因素影響滲吸的機理進行分析,對不同滲吸機制作用下的壓裂水平井產量變化規律及產能計算進行數學建模與軟件研制。針對油藏的特點,本文設計開發一種基于Windows平臺的油藏體積壓裂下產能系統,為有效評價大規模體積壓裂改造效果和能量補充效果提供支持。

2油藏體積壓裂下產能系統開發研究概述

2.1油藏體積壓裂下產能系統開發任務

油藏體積壓裂下產能系統一般包括:項目管理子系統、油藏產能計算子系統、可視化子系統。項目管理子系統主要為油藏產能計算提供相關數據。部分油藏數據需要進行大量計算才能得到,這不僅需要多次迭代,還要保證一定的精度。項目管理子系統主要包含模塊:項目管理、數據參數等;油藏產能計算子系統是建立在考慮多因素的數學模型之上的,通過將一系列的產能計算問題轉換為數學模型,再通過多種半解析解法,用拉普拉斯變換和迭代法,最終給出近似解析解;可視化子系統主要將通過計算數學模型得出的結果以多種形式并在符合相關理論的基礎上直觀地展示出來,從而便于觀察、分析、評價。

2.2油藏體積壓裂下產能系統開發環境

油藏體積壓裂下產能系統基于Windows操作系統,采用MATLAB 2014a、SQL Server 2008關系數據庫管理系統、VisualStudio 2013集成開發環境進行開發[3]。由于產能模型需要大量的計算,所以采用VS與MATLAB混合編程技術,通過將MAT-LAB中的.m文件封裝成DLL文件引入VS中。用戶可以通過安裝對應版本的MCRInstaller搭建運行環境。

3油藏體積壓裂下產能系統設計

3.1油藏體積壓裂下產能模型

目前大多數油藏多裂縫水平井模型都是基于經典的簡化雙孔介質模型[4],但是該模型忽略了滲吸的影響。斷裂體系的分布具有非均勻性、多尺度性、白相似性等特點,模型能否考慮分形和滲吸的影響,對油藏體積壓裂下產能有重要影響。考慮到滲吸現象的影響,本系統開發采用一種考慮滲吸的多元線性分形油藏模型,它基于分形理論和半解析方法,針對致密儲層的滲流規律,同時考慮多裂縫水平井在油藏儲層中的流體流動,是一種經由實踐檢驗準確率非常高的計算模型;在該模型中,采用分形理論來描述非均勻性[5]。通過模擬流體的橫向流動規律,考慮復雜的縫網和滲吸作用并且用拉普拉斯變換和迭代法給出近似解析解。

3.2系統主要功能設計

項目管理子系統主要負責項目文件管理、數據參數存儲與處理。用戶在項目管理子系統中可以對井的數據參數進行增、刪、改、查等操作[6],部分數據參數還可以通過已有的數據參數計算自動獲取。由于數據參數的格式繁多,可能會造成計算結果偏差、精度不一等問題。針對此類問題,數據參數存儲自動統一格式及精度,便于得到理想的計算結果。此外,本系統的數據參數除了手動輸入,還支持EXCEL文件導入方式,且集成對數據單位格式及精度統一的功能。

油藏產能計算子系統主要利用項目管理子系統中存儲的數據參數,通過將在MATLAB環境下建立的數學模型封裝成DLL文件引入VS中作為核心計算組件來計算得到各直井、水平井在不同時間不同條件下的產量,再通過多線程技術提高計算效率[7-8]。

可視化子系統通過對油藏產能計算子系統計算得到的數據進行分析處理,并且應用控件、繪圖函數等進行繪圖,可以為有效評價大規模體積壓裂改造效果和能量補充效果提供有效支持[9]。該子系統在使用時為了讓用戶更直觀、便捷地觀察、分析油藏直井、水平井在各種條件下的日產量、累產量變化,對油藏產量實現可視化,展示直井日產量變化、直井累產量變化、滲吸作用的直井日產量變化、滲吸作用的直井累產量變化、水平井日產量變化、水平井累產量變化、滲吸作用的水平井日產量變化、滲吸作用的水平井累產量變化、直井壓力變化、無因次化壓力及壓力導數圖版、無因次化產量及產量導數圖版、壓力場與壓力梯度場對比界面、產能計算界面、裂縫條數優化界面、裂縫半長優化界面、裂縫半長優化界面等。

3.3數據庫設計

本系統采用C/S結構,即Client/Server(客戶機/服務器)結構[10-11],主要由數據庫服務器及軟件系統組成。數據庫采用微軟公司的SQL Server 2008平臺,它是一種廣泛使用的數據庫系統,具有強大且便捷的數據存儲和管理能力。

油藏數據庫的關系模式如下:

1)油藏項目表:保存油田名稱、項目名稱、區塊名稱、開始日期、結束日期、創建人員等,其中項目名稱是主鍵;

2)油井表:保存油田名稱、項目名稱、區塊名稱、井號等,其中項目名稱為主鍵;

3)直井參數表:保存直井的項目名稱、起始時間、終止時間、間隔時間、儲層物性參數、雙重介質參數、滲吸計算參數、油藏幾何參數等,其中項目名稱為主鍵;

4)水平井參數表:保存水平井的項目名稱、起始時間、終止時間、間隔時間、井端距離、段端距離、縫端距離、段數、簇數、儲層物性參數、雙重介質參數、滲吸計算參數、油藏幾何參數等,其中項目名稱為主鍵;

5)用戶表:保存登錄賬號、登錄密碼、操作權限等,其中登錄賬號為主鍵。

4關鍵技術

4.1數據參數導入

由于油藏參數種類繁多,手動輸入參數效率較低,針對該問題,系統設計了數據參數導入功能。Excel的字段一一對應油藏數據庫的字段分別進行處理。其工作流程如下:1)打開一個后綴名為.xlsx格式的Excel文件;2)ExCel文件第一行的字段值對應油藏數據庫表里字段值進行設定;3)通過調用函數建立連接,逐行讀取數據。

在數據參數導入模塊中,系統將核心導人操作進行封裝,在導入模塊的.cs文件里進行調用即可完成數據參數導人,其主要操作如下:

new System. Data. OleDb. OleDbConneCtion(strCon);//根據鏈接信息實例化鏈接對象

new System. Data. OleDb. OleDbDataAdapter(strCom. Conn);//對數據源執行的sql語句或存儲過程

myCommand.Fill(ds,"[Sheetl$]");//將Excel文件里的數據存儲到內存中的緩存

4.2核心計算

油藏體積壓裂下產能模型較為復雜,其中包含大量的計算(如拉普拉斯變換、偏微分方程組等)和較多且復雜的數學公式[12-13],常用開發語言較難實現,例如:C++、C#、Java,并且這些語言操作較為煩瑣,因此系統的核心計算模塊采用MATLAB實現,將.m文件打包封裝成DLL庫混編引入程序,提升產能模型計算效率,更高效地優化軟件性能。

4.2.1 MATLAB計算組件

MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、For-tran)的編輯模式,代表了當今國際科學計算軟件的先進水平。系統的核心計算就是基于MATLAB編寫的,以其中無因次化毛管力計算函數為例:

function[pcD]= PCD( AA, SWD, BB, sigma, thet, porm, km,qq,vis,kf,h)

pc=AA*SwD^BB*sigma*cos(thet)*(porm/km/10)^0.5;//有因次化毛管力計算

pcD=pc./(qq*vis/kf/h/10);//無因次化毛管力計算

通過在MATLAB環境下建立復雜的油藏數學模型,從而計算得到數據參數、產能、壓力等數據。

4.2.2 VS與MATLAB混編

MATLAB擁有豐富且強大的科學函數庫,部分函數庫在VS集成開發環境不具備。因此,通過VS與MATLAB混合編程可以給VS直接提供豐富的科學函數庫使用,將VS與MATLAB混合編程可以提高計算速度、提升開發效率、簡化操作和增加代碼的復用率。VS與MATLAB混合編程的步驟主要為:

1)在MATLAB中編寫好.m函數;

2)在命令行窗口輸入deploytool命令,選擇Library Compil-er,在DEPLOYMENT中選擇.Net Assembly,添加.m文件并對該封裝命名,在Additional Runtime Settings中選擇對應版本的Mi-crosoft Framework.最后點擊Package進行打包封裝得到DLL文件;

3)在開發項目中通過添加DLL文件的引用,實例化對象后調用函數進行操作。

4.2.3多線程技術

線程是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有系統資源[14],但它可與同屬一個進程的其他線程共享進程所擁有的全部資源[15]。由于線程比進程更小,基本上不擁有系統資源,故對它的調度所付出的開銷就會小得多,能更高效地提高系統內多個程序間并發執行的程度,從而顯著提高系統資源的利用率和吞吐量[16-20]。因此,多線程技術可以使軟件在處理大規模數據計算時顯著提高運行效率。此外,在設計與實現過程中,分模塊處理也為多線程操作打下基礎[21]。示例代碼如下:

Thread probar= new Thread(Prcx:essBar);//新建線程,Pro-cessBar必須是無返回值的方法

probar.Start();//開始線程

prohar.lsBackground= true;//設置為后臺線程

probar.Abort();//終止線程

/*自定義函數*/

public void ProcessBar()

{

{/*詳細代碼*}

}

4.2.4系統異常檢測

針對油藏體積壓裂下產能系統計算量較大,通過使用記錄消耗的時間來測試性能。當計算操作超時,防止系統出現無響應或等待時長過長,可以使用線程池提高線程的復用。為了提高系統的并發性,采用多線程技術。但是,創建線程會消耗較大的資源,為了提高系統交互性,系統使用異步操作,特別是在短時間內頻繁進行異步操作時,頻繁創建和銷毀線程會造成較多資源的浪費。因此,通過將一些線程存放在線程池中,當系統需要新建線程執行操作時就可以從已有的線程池中取出一個空閑線程使用。如果線程池中沒有空閑線程,且線程池中的線程數未達到線程池上限,則新建一個線程,使用完成后再放回到線程池中。這樣可以節省大量創建線程的資源,通過CLR管理線程池的策略來管理線程池中線程的最大和最小數。此外,通過全局異常捕捉、UI線程異常捕捉、多線程異常捕捉,記錄異常日志,提供用戶可選擇的異常解決方案。

4.2.5系統繪圖技術

系統使用了.Net平臺下的開源控件ZedGraph,實現可視化展示的各個模塊。ZedGraph可以通過減少IO的讀寫消耗,從而提高系統性能,且可以動態生成,不用保存文件。

系統在繪制油藏2D、3D模型及水平井壓力圖、水平井壓力梯度等各種圖時采用了GDI+和MATLAB繪圖技術,通過白定義函數繪制出所需圖片再經由Picturebox控件進行展示。

系統在散點繪圖并渲染成面參考了MATLAB散點插值函數,為了取得更好的插值效果,使用徑向基函數方法,但其運算量和內存需求較大。

動畫展示指定時間段內的壓力變化時,僅需調用System、Windows、rorms、Timer控件,在Timer Tick事件中切換圖片即可實現動畫效果。

5系統實現與應用

系統采用Visual Studi0 2013集成開發環境和SOL Server2008關系數據庫管理系統,系統架構采用C/S結構。圖2~圖4分別為壓力場與壓力梯度場對比界面、產能計算界面、裂縫條數優化界面。

6結束語

本文針對油藏體積壓裂水平井生產過程中滲吸對采油的影響,基于油藏的特點,采用多線程技術設計并實現了油藏體積壓裂下產能系統。實際應用表明,該系統在理論研究和指導生產實踐中有廣闊的應用前景和一定的研究價值。

參考文獻:

[1]Zhu D W, Yang Z M, Wang X W,et al.New productivity eval-uation model for segregated fracturing horizontal well in lowpermeability and tight reservoir[Jj. Electronic Journal of Ceo-technical Engineering, 2013(18Z): 5981-5992.

[2]徐思勇.致密油藏水平井體積壓裂效果影響因素[J].化學工程與裝備,2018(10): 94-95.

[3]黃文博,燕楊.C/S結構與B/S結構的分析與比較[J].長春師范學院學報,2006(8): 56-58.

[4]賈婷,何強,孫明.致密油區體積壓裂效果分析[J].西安文理學院學報(自然科學版),2017,20(2): 113-116.

[5] Wang Z Y,Yang Z M, Ding Y H,et al.A multi-linear fractalmodel for pressure transient analysis of multiple fractured hori-zontal Wells in tight oil reservoirs including imbibition[Jl.Fractals. 2019. 27(1): 1940004.

[6]趙志升,李桂權.一種基于B/S結構與C/S結構結合的新體系結構[J]電子技術應用,2004(8): 7-9.

[7]范朝陽,張良駒.多線程程序設計的概念與應用[J].小型微型計算機系統,1996(4): 1-6.

[8]駱斌,費翔林.多線程技術的研究與應用[J].計算機研究與發展,2000,37(4): 407-412.

[9]林旺,范洪富,王志平,等.致密油藏體積壓裂水平井產量預測研究[J].油氣地質與采收率,2018,25(6): 107-113.

[10]陳俊斌.C/S與B/S結合的軟件體系結構[J].電子技術與軟件工程,2015(3): 68-69.

[11]張紅瑞,張彥,呂延崗.結合實例探討C/S和B/S結構的應用[J].商場現代化,2009(10): 15-16.

[12]蘇皓,雷征東,張荻萩,等.致密油藏體積壓裂水平井參數優化研究[J].巖性油氣藏,2018,30(4): 140-148.

[13]曾凡輝,郭建春,趙金洲,等.水平井分級壓裂優化設計軟件研制及應用[J].石油地質與T程,2008,22(1):78-81.

[14]張華,盧慧.多線程技術在數據庫編程中的應用[J].計算機與信息技術,2005(8): 54-55.

[15]林恒建.多線程技術的實現與研究[J].福建電腦,2011,27(11): 109-110.

[16]徐洪斌,蘇鐵熊,董小瑞.多線程技術及其實現[J].山西電子技術,2003(3): 15-16,27.

[17]鄭宇生,趙長勝.C#多線程編程技術在數控測井軟件中的應用[J].國外測井技術,2012(4): 71-73.

[18]彭慶喜,陳軍威,周威.基于C#多線程的Web實體抽取設計與實現[J].軟件導刊,2013,12(1): 84-86.

[19]崔朝霞,張文婧,張準,等.基于.NET的多線程編程設計與實現[J].數字技術與應用,2014(5): 163.

[20]茅勝榮,肖家文,喬東海.嵌入式C語言中的面向對象與多線程編程[J].單片機與嵌入式系統應用,2017,17(5): 22-26.

[21]魏翠,李文全,徐素萍.基于Web的高校貧困助學管理系統設計與實現[J].電腦知識與技術,2020,16(12): 90-92.

【通聯編輯:謝媛媛】

收稿日期:2020-05-08

基金項目:國家油氣重大專項(項目編號:2017ZX05013-001)

作者簡介:龔安(1971-),男,四川巴中人,副教授,碩士生導師,CCF會員(62929M),碩士,研究方向為大數據智能處理;姚鑫杰(1996一),男(白族),云南大理人,碩士在讀,研究方向為大數據智能處理。

主站蜘蛛池模板: 狼友av永久网站免费观看| 国产精品高清国产三级囯产AV| 性色在线视频精品| 国产精品永久在线| 日韩精品一区二区三区免费在线观看| 人与鲁专区| 性喷潮久久久久久久久| 亚洲第一成网站| 第一页亚洲| 一级做a爰片久久免费| 欧美伦理一区| 午夜小视频在线| 国产美女精品在线| 久久精品国产999大香线焦| 麻豆a级片| 久久国产精品无码hdav| 日韩无码黄色| 亚洲国产成人精品一二区| 国产成人免费视频精品一区二区| 亚洲国产系列| 国产欧美视频一区二区三区| 亚洲区第一页| 国产综合无码一区二区色蜜蜜| 国产小视频a在线观看| 99在线视频免费| 亚洲无码精品在线播放| 国产精品自在自线免费观看| 永久免费av网站可以直接看的| 在线无码av一区二区三区| 国产激情第一页| 国产欧美日韩精品第二区| 亚洲精品天堂在线观看| 婷婷综合在线观看丁香| 极品国产在线| 国产噜噜噜视频在线观看| 极品av一区二区| 91久久天天躁狠狠躁夜夜| 国产swag在线观看| 国产亚洲欧美日韩在线观看一区二区| 亚洲天堂高清| 久久美女精品| 玩两个丰满老熟女久久网| 国产一区二区网站| 青青久久91| 国模沟沟一区二区三区| 自偷自拍三级全三级视频| 性喷潮久久久久久久久| 久久国产高潮流白浆免费观看| 中文国产成人精品久久一| 国产97视频在线| 就去色综合| 免费高清毛片| 日韩欧美国产中文| 四虎精品黑人视频| 二级特黄绝大片免费视频大片| 国产亚洲精| 国产极品美女在线观看| 久久综合伊人77777| 亚洲欧美综合精品久久成人网| 欧美亚洲国产日韩电影在线| 找国产毛片看| 国产欧美网站| 日韩欧美中文在线| 亚洲精品自拍区在线观看| AV网站中文| 国产亚洲精品91| 国产手机在线ΑⅤ片无码观看| 日本欧美一二三区色视频| 国产成人夜色91| 国产一区二区三区精品欧美日韩| 囯产av无码片毛片一级| 亚洲热线99精品视频| 五月婷婷综合在线视频| 在线免费亚洲无码视频| 成人精品区| 91久久国产综合精品| 91精品视频在线播放| 视频一本大道香蕉久在线播放| 亚洲欧美另类日本| 性网站在线观看| 日韩精品毛片人妻AV不卡| 日韩精品一区二区三区中文无码|