常立言,李雅瓊
(1.西南石油大學(xué)理學(xué)院,四川 成都610500;2.中國(guó)石化中原油建工程有限公司,河南 濮陽(yáng)457001)
油藏可采儲(chǔ)量計(jì)算包括技術(shù)可采儲(chǔ)量計(jì)算和經(jīng)濟(jì)可采儲(chǔ)量計(jì)算,主要解決目前的工藝水平、經(jīng)濟(jì)條件允許下,油層中可以開(kāi)采出來(lái)的油量的計(jì)算問(wèn)題。技術(shù)可采儲(chǔ)量是指依靠現(xiàn)有井網(wǎng)工藝技術(shù)獲得的總產(chǎn)油量,水驅(qū)油藏一般測(cè)算到含水率98%、 其他驅(qū)動(dòng)油藏開(kāi)采到技術(shù)廢棄產(chǎn)量時(shí)的累計(jì)產(chǎn)油量。經(jīng)濟(jì)可采儲(chǔ)量則是在當(dāng)前已實(shí)施的或確定將要實(shí)施的技術(shù)條件下,按當(dāng)前經(jīng)濟(jì)狀況估算的、可經(jīng)濟(jì)開(kāi)采的油藏儲(chǔ)量。標(biāo)定可采儲(chǔ)量是制定與調(diào)整油田發(fā)展規(guī)劃的基本要素,在開(kāi)發(fā)前期、 初期和中后期等不同階段,以及不同的油藏類型,可采儲(chǔ)量的計(jì)算方法也不同。優(yōu)選可采儲(chǔ)量計(jì)算方法是儲(chǔ)量標(biāo)定工作的重要內(nèi)容。
近年來(lái),經(jīng)過(guò)國(guó)內(nèi)外油藏地質(zhì)專家的探索與研究,形成了數(shù)十種用于油藏儲(chǔ)量標(biāo)定的計(jì)算方法[1-2]。但是,如何根據(jù)勘探開(kāi)發(fā)現(xiàn)場(chǎng)的油藏地質(zhì)類型、開(kāi)發(fā)指標(biāo)和階段,合理選擇計(jì)算方法并計(jì)算出可靠的標(biāo)定結(jié)果,仍然面臨很多問(wèn)題。已有方法多為人工計(jì)算,比較復(fù)雜,運(yùn)算量大,不一定能確保計(jì)算結(jié)果的精度及可靠性,且目前常用的計(jì)算軟件通用性不夠強(qiáng),因此,開(kāi)發(fā)設(shè)計(jì)一套覆蓋各類計(jì)算方法、 計(jì)算精度可靠、 操作簡(jiǎn)單、數(shù)據(jù)錄入方便可靠的油藏可采儲(chǔ)量計(jì)算軟件,是當(dāng)前儲(chǔ)量標(biāo)定需要解決的迫切問(wèn)題。
常用儲(chǔ)量計(jì)算方法主要包括靜態(tài)法和動(dòng)態(tài)法。其中,靜態(tài)法一般先利用理論公式、經(jīng)驗(yàn)公式、類比等方法確定采收率,再結(jié)合地質(zhì)儲(chǔ)量計(jì)算出油藏可采儲(chǔ)量。靜態(tài)法通常在油田尚未開(kāi)采或者開(kāi)采初期使用,這是因?yàn)榇藭r(shí)尚未獲得具有一定規(guī)律的開(kāi)發(fā)生產(chǎn)資料,無(wú)法利用動(dòng)態(tài)數(shù)據(jù)進(jìn)行有效的儲(chǔ)量計(jì)算。
動(dòng)態(tài)法主要包括水驅(qū)特征曲線法、遞減曲線法、童氏圖版法、數(shù)學(xué)模型法等[3-10]。與靜態(tài)法不同,動(dòng)態(tài)法主要依據(jù)油藏開(kāi)采歷史動(dòng)態(tài)資料和規(guī)律,應(yīng)用一定算法從而達(dá)到計(jì)算可采儲(chǔ)量和預(yù)測(cè)開(kāi)采趨勢(shì)的目的。因此,在油藏開(kāi)發(fā)的中、晚期多使用動(dòng)態(tài)法進(jìn)行計(jì)算,并且通常會(huì)使用數(shù)種計(jì)算方法來(lái)彼此驗(yàn)證,從而提高儲(chǔ)量計(jì)算的可信度和可靠性。業(yè)內(nèi)普遍認(rèn)為動(dòng)態(tài)法計(jì)算較靜態(tài)法更為可靠。
本軟件使用面向?qū)ο蟮腃++語(yǔ)言編寫(xiě),采用微軟的可視化軟件開(kāi)發(fā)環(huán)境Visual Studio 2010 進(jìn)行編譯與界面設(shè)計(jì),選取Oracle作為后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng),對(duì)應(yīng)運(yùn)行環(huán)境為Windows系列操作系統(tǒng)。基于模塊化設(shè)計(jì)思想,軟件程序由數(shù)據(jù)載入、數(shù)據(jù)運(yùn)算、數(shù)據(jù)傳出、圖形界面及輔助等5 個(gè)大型模塊構(gòu)成,每個(gè)大型模塊又根據(jù)具體的實(shí)現(xiàn)功能分為若干小型模塊。各模塊之間通過(guò)傳遞關(guān)鍵參數(shù)互相聯(lián)系在一起,同時(shí)每個(gè)模塊又具有一定的獨(dú)立性(見(jiàn)圖1),使其既保持了軟件功能的完整性,又便于增添和修改單獨(dú)的模塊而不必改動(dòng)軟件的整體框架結(jié)構(gòu)。主干邏輯流程如圖2所示。
圖1 軟件模塊構(gòu)成
數(shù)據(jù)載入模塊是整個(gè)運(yùn)算程序的基礎(chǔ)部分,負(fù)責(zé)載入所選運(yùn)算函數(shù)必須的參數(shù)值,將其傳遞給數(shù)據(jù)運(yùn)算模塊。為了對(duì)應(yīng)不同的數(shù)據(jù)源,本模塊共有數(shù)據(jù)庫(kù)導(dǎo)入、文件導(dǎo)入和交互式實(shí)時(shí)錄入3 種載入方式。數(shù)據(jù)庫(kù)導(dǎo)入模塊,主要通過(guò)Pro*C/C++,在C++語(yǔ)言程序內(nèi)嵌入SQL語(yǔ)句,對(duì)目標(biāo)Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行讀?。?1-12],并且賦值至程序內(nèi)部變量。文件導(dǎo)入模塊,支持程序從Excel表格中讀取數(shù)據(jù),借助ODBC (開(kāi)放式數(shù)據(jù)庫(kù)連接)對(duì)Excel文件進(jìn)行連接,把目標(biāo)Excel視為一個(gè)數(shù)據(jù)庫(kù)文件,然后查詢相應(yīng)表格并獲得數(shù)據(jù)[13]。交互式實(shí)時(shí)錄入,通過(guò)程序界面上的編輯框接收對(duì)應(yīng)的參數(shù)值,將其賦值給程序內(nèi)部的相關(guān)運(yùn)算變量。本模塊會(huì)對(duì)導(dǎo)入?yún)?shù)的基本取值進(jìn)行合法化判斷,對(duì)于出現(xiàn)諸如關(guān)鍵數(shù)為0 等嚴(yán)重參數(shù)非法化傳入,能夠及時(shí)檢測(cè)并通知用戶修正,從而增強(qiáng)程序的健壯性。
數(shù)據(jù)運(yùn)算模塊是本程序的核心。由于本軟件涉及方法數(shù)量多、種類廣,針對(duì)不同類型計(jì)算方法所采用的實(shí)現(xiàn)算法也不盡相同。例如:對(duì)于經(jīng)驗(yàn)公式等單公式算法,通常直接使用標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)庫(kù)中的運(yùn)算函數(shù),將數(shù)學(xué)公式轉(zhuǎn)換成一個(gè)或數(shù)個(gè)C++語(yǔ)言賦值語(yǔ)句,代入載入模塊中提供的參數(shù)值,即可計(jì)算出目標(biāo)結(jié)果。針對(duì)部分可能產(chǎn)生計(jì)算機(jī)數(shù)值計(jì)算誤差的公式,需要對(duì)運(yùn)算參數(shù)和方法進(jìn)行判斷,并相應(yīng)地進(jìn)行優(yōu)化處理,避免因運(yùn)算參數(shù)之間差距過(guò)大,造成“大數(shù)吃小數(shù)”、除數(shù)絕對(duì)值遠(yuǎn)小于被除數(shù)的除法計(jì)算等數(shù)值計(jì)算誤差[14]。對(duì)于含有多個(gè)公式的方法,比如產(chǎn)量遞減法、水驅(qū)特征曲線法等,會(huì)對(duì)選定的多個(gè)傳入?yún)?shù)組(可以是手動(dòng)選擇,也可以根據(jù)不同開(kāi)發(fā)階段,對(duì)某一個(gè)區(qū)塊進(jìn)行分段選擇評(píng)價(jià))組成的相關(guān)關(guān)系式進(jìn)行線性回歸,求得中間變量“截距”和“斜率”等值,并將其代入對(duì)應(yīng)的關(guān)系式計(jì)算獲得運(yùn)算結(jié)果。本模塊會(huì)對(duì)運(yùn)算產(chǎn)生的結(jié)果進(jìn)行值域合法化判定,當(dāng)采收率明顯不合法時(shí),能夠通知用戶檢查傳入?yún)?shù)的正確性。
圖2 軟件運(yùn)算邏輯流程
數(shù)據(jù)傳出模塊主要負(fù)責(zé)2部分的處理:一是將計(jì)算結(jié)果傳到程序交互界面模塊中,供用戶查看;二是根據(jù)類型的不同及使用者的需求,把計(jì)算結(jié)果數(shù)據(jù)傳出保存至Oracle 數(shù)據(jù)庫(kù)(Pro*C/C++)/外部Excel 文檔(ODBC)/Bmp圖片文件(依據(jù)Bmp格式準(zhǔn)建立位圖文件)中[15],方便存儲(chǔ)備案及進(jìn)一步使用,其實(shí)現(xiàn)思路近似于載入模塊。
圖形界面模塊主要對(duì)程序軟件的可視化界面進(jìn)行管理,接收用戶的各種鍵盤(pán)/鼠標(biāo)操作,將結(jié)果數(shù)據(jù)/圖標(biāo)繪制到對(duì)應(yīng)的位置上,完成對(duì)用戶操作的反饋。它是用戶與程序進(jìn)行交流的重要部分。程序圖形界面基于微軟的MFC設(shè)計(jì)而成,簡(jiǎn)潔美觀,使用方便[16]。
輔助模塊對(duì)軟件使用中的疑問(wèn),建立幫助索引系統(tǒng)。用戶可以使用主題索引或者指定關(guān)鍵字,通過(guò)輔助模塊自行查詢,解決使用中出現(xiàn)的算法選取、 參數(shù)導(dǎo)入、操作流程等各類問(wèn)題。
1)可采儲(chǔ)量計(jì)算方法收錄范圍廣,涵蓋了諸如水驅(qū)礫巖油藏和稠油熱采油藏采收率計(jì)算等經(jīng)驗(yàn)公式法、水驅(qū)特征曲線法、產(chǎn)量遞減法、增長(zhǎng)曲線法、童憲章圖版法、現(xiàn)金流法等24 種常用的公式模型,可對(duì)應(yīng)不同情況任意選用,又能相互比對(duì)驗(yàn)證,擴(kuò)大軟件適用范圍,提高計(jì)算可靠度。
2)輸入、輸出方式多樣,涵蓋了數(shù)據(jù)庫(kù)對(duì)接、導(dǎo)入導(dǎo)出文檔和實(shí)時(shí)交互反饋3 種方式,既保證了數(shù)據(jù)來(lái)源的便利性與可靠性(可與數(shù)據(jù)庫(kù)相連接),又可以靈活錄入或?qū)С鲋付〝?shù)據(jù)(Excel文件、書(shū)面數(shù)據(jù))。
3)基于MFC的標(biāo)準(zhǔn)Windows圖形界面[11],操作簡(jiǎn)單,減少了計(jì)算所需要時(shí)間,同時(shí)具有一定的參數(shù)容錯(cuò)功能。
4)軟件生命力強(qiáng),整個(gè)軟件采用新穎的模塊化設(shè)計(jì)思想,在測(cè)試、使用過(guò)程中,即使出現(xiàn)問(wèn)題也能快速定位至根源模塊并迅速解決,且同時(shí)具有良好的擴(kuò)展性,允許在日后的使用中隨時(shí)添加新的功能模塊,滿足日益增長(zhǎng)的使用需求。
本文主要以油藏技術(shù)可采儲(chǔ)量計(jì)算為例,分別采用靜態(tài)經(jīng)驗(yàn)公式法、動(dòng)態(tài)水驅(qū)特征曲線法,運(yùn)用實(shí)際生產(chǎn)數(shù)據(jù)對(duì)軟件程序的計(jì)算過(guò)程及結(jié)果進(jìn)行驗(yàn)證。
某油田甲區(qū)塊新增構(gòu)造層狀砂巖油藏,含油面積8.41 km2,根據(jù)其油藏特征及驅(qū)動(dòng)機(jī)理選擇溶解氣驅(qū)油藏采收率經(jīng)驗(yàn)公式,對(duì)新增油藏進(jìn)行采收率標(biāo)定。數(shù)據(jù)源選擇Excel表格,導(dǎo)入目標(biāo)Excel后選定甲區(qū)塊新增油藏作為標(biāo)定目標(biāo),并填充數(shù)據(jù)至參數(shù)設(shè)置。檢查參數(shù)無(wú)誤后點(diǎn)擊開(kāi)始計(jì)算,最終算出采收率為16.836 079%,乘以油藏地質(zhì)儲(chǔ)量后得出該區(qū)塊溶解氣驅(qū)部分技術(shù)可采儲(chǔ)量為90.184 141×104t(見(jiàn)圖3),減少有效數(shù)字位數(shù)后為90.18×104t,結(jié)果與儲(chǔ)量標(biāo)定最終報(bào)告給出的數(shù)據(jù)一致。
圖4左側(cè),為某油田處于開(kāi)采中的B6 區(qū)塊累計(jì)產(chǎn)水量(Wp)與累計(jì)產(chǎn)油量(Np)關(guān)系圖??梢钥闯?,通過(guò)選取適當(dāng)?shù)幕貧w數(shù)據(jù)段,利用合適的水驅(qū)曲線,對(duì)該區(qū)間內(nèi)的累計(jì)產(chǎn)油量、累計(jì)產(chǎn)水量進(jìn)行一元線性回歸,最終求得其直線方程的截距a、斜率b及相關(guān)系數(shù)r,從而得知當(dāng)極限含水率為98%的時(shí)候,該區(qū)塊的可采儲(chǔ)量為118.278 176×104t,采收率為33.204 620%。
圖3 經(jīng)驗(yàn)公式計(jì)算可采儲(chǔ)量軟件運(yùn)行界面截屏
圖4 水驅(qū)特征曲線法計(jì)算可采儲(chǔ)量軟件運(yùn)行界面截屏
將a,b代入含水率-累計(jì)產(chǎn)油量關(guān)系式,發(fā)現(xiàn)產(chǎn)量關(guān)系預(yù)測(cè)曲線與實(shí)際生產(chǎn)數(shù)據(jù)擬合度很好(見(jiàn)圖5)。
圖5 含水率與累計(jì)產(chǎn)油量關(guān)系
通過(guò)使用本軟件對(duì)多組實(shí)例數(shù)據(jù)的計(jì)算,其結(jié)果與通用的地質(zhì)研究成果基本一致,證實(shí)本軟件具有相當(dāng)高的可靠度。同時(shí),本軟件還具有涵蓋方法廣、對(duì)錯(cuò)誤參數(shù)具有一定辨別能力、 數(shù)據(jù)源和輸出方式支持度強(qiáng)、操作簡(jiǎn)便運(yùn)算快速、擴(kuò)展性良好等特點(diǎn),與傳統(tǒng)方法及同類軟件系統(tǒng)相比,能夠有效提高計(jì)算質(zhì)量和效率,降低人力物力成本,促進(jìn)油藏可采儲(chǔ)量計(jì)算的程序化和自動(dòng)化。
[1]陳元千.油田可采儲(chǔ)量計(jì)算方法[J].新疆石油地質(zhì),2000,21(2):130-171.
[2]陳元千.預(yù)測(cè)油氣田可采儲(chǔ)量方法的優(yōu)選[J].油氣采收率技術(shù),1998,5(2):47-54.
[3]劉小鴻,繆飛飛,崔大勇,等.水驅(qū)油田理論含水上升率預(yù)測(cè)新方法及其應(yīng)用[J].斷塊油氣田,2013,20(6):736-739.
[4]王胤淵,陳小凡,劉峰,等.開(kāi)發(fā)模型與水驅(qū)曲線聯(lián)解預(yù)測(cè)方法[J].斷塊油氣田,2014,21(1):59-61.
[5]陳元千,鄒存友,張楓.水驅(qū)曲線法在油田開(kāi)發(fā)評(píng)價(jià)中的應(yīng)用[J].斷塊油氣田,2011,18(6):769-771,779.
[6]陳元千.水驅(qū)曲線法的分類、對(duì)比與評(píng)價(jià)[J].新疆石油地質(zhì),1994,15(4):348-355.
[7]陳元千.水驅(qū)曲線關(guān)系式的理論推導(dǎo)[J].石油學(xué)報(bào),1985,6(2):69-78.
[8]陳元千,郝明強(qiáng).Arps遞減微分方程的推導(dǎo)及應(yīng)用[J].斷塊油氣田,2014,21(1):57-58.
[9]俞啟泰.七種遞減曲線的特性研究[J].新疆石油地質(zhì),1994,15(1):49-56.
[10]童憲章.天然水驅(qū)和人工注水油藏的統(tǒng)計(jì)規(guī)律探討[J].石油勘探與開(kāi)發(fā),1978,4(6):38-64.
[11]徐璇,姜明新,黃靜,等.基于MFC的工程軟件界面設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(21):11-13.
[12]禹春霞,謝川,劉志峰.VC++環(huán)境下訪問(wèn)ORACLE數(shù)據(jù)庫(kù)的方法[J].機(jī)械設(shè)計(jì)與制造,2008(8):79-81.
[13]郭小梅.在VC++中實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)出/導(dǎo)入[J].電腦知識(shí)與技術(shù),2008,4(3):726-730.
[14]劉平,呂海兵,張峰,等.數(shù)值計(jì)算誤差初步理解及簡(jiǎn)單分析[J].地理空間信息,2011,9(3):156-158,161.
[15]宋葉未,葉建芳.BMP格式位圖文件的分析及顯示算法[J].現(xiàn)代電子技術(shù),2011,34(20):5-7.
[16]劉連喜,徐惠民.MFC框架中的設(shè)計(jì)模式分析[J].計(jì)算機(jī)應(yīng)用與軟件,2005,22(9):50-52.