趙建民, 唐茂斌(東北石油大學 計算機與信息技術學院, 大慶 163318)
化學驅數(shù)值模擬后處理技術研究
趙建民, 唐茂斌
(東北石油大學 計算機與信息技術學院, 大慶 163318)
為了更有效的實現(xiàn)油藏體的三維可視化,對化學驅數(shù)值模擬后處理存在的問題進行研究。對國內外現(xiàn)有的Eclipse、VIP等數(shù)值模擬軟件進行分析,針對各自模擬器模擬得出的數(shù)據(jù)格式種類繁多、不一致的問題,提出應用面向對象的思想,設計相互兼容的可擴展的接口。利用以八叉樹結構為基礎的大數(shù)據(jù)組織管理(LDM)對油藏體網格劃分,使用轉換關鍵字的方法實現(xiàn)對不同數(shù)值模擬結果文件加載,實現(xiàn)對油藏體的精細描述。
數(shù)值模擬; 八叉樹; LDM
Abstract: In order to effectively realize the three-dimensional visualization of the reservoir, the problems of the post-processing of chemical drive numerical simulation are studied. The paper analyzes the existing numerical simulation software at home and abroad, such as Eclipse, VIP, etc. There are a wide variety of data formats and inconsistent problems for each simulator simulation; the article proposes to apply the object-oriented idea, and designs mutually compatible extensible interfaces. A large data organization management (LDM) based on octree structure is used to divide the reservoir grid, the method implementation of the transformation keyword is used to load the different numerical simulation result files. It implements the detailed description of the reservoir.
Keywords: Numerical simulation; Octree; LDM
油藏數(shù)值模擬是尋找剩余油的重要手段,為高含水開發(fā)后期油藏的調整挖潛提供重要依據(jù),也是數(shù)字化油田的重要體現(xiàn)[1]。油藏模擬已成為各油田在研究油藏資料間相互關系、預測油藏的開采過程、調整開采方案必不可少的輔助手段[2]。應用計算機三維可視化技術,把油氣勘探開發(fā)中的大量地質對象及數(shù)據(jù)和油藏數(shù)值模擬結果數(shù)據(jù)以三維的方式進行集成展示,使地質工程師能更直觀地了解目標區(qū)塊的各種地質狀況和儲量信息,從而為石油勘探開發(fā)提供更好的決策支持[2]。后處理系統(tǒng)是油藏數(shù)值模擬不可缺少的部分,它的意義不僅僅體現(xiàn)在提高模擬工作的效率,而且直接影響著油藏數(shù)值模擬研究的效果和質量[3]。
當前,國內外主流的數(shù)值模擬軟件有很多,例如:Eclipse、VIP、CMG等,它們都能實現(xiàn)油藏體的三維可視化。但是每一個數(shù)值模擬軟件的后處理系統(tǒng)都是不同的,例如:CMG后處理模型RESULTS、VIP的后處理模塊(PlotView、3DVIEW)等[4]。數(shù)值模擬軟件有唯一的“ID”標識,即當一個用戶使用時,其他的用戶不能去訪問所需的油藏數(shù)據(jù),并且不同的數(shù)值模擬軟件輸出的數(shù)據(jù)格式不同,不能加載異構的文件數(shù)據(jù),不能動態(tài)的展示異構的油藏體數(shù)據(jù)。因此在深入研究油藏體數(shù)據(jù)的同時,要設計兼容異構數(shù)據(jù)結構的接口,對油藏體進行展示。目前使用最廣泛的三維可視化開發(fā)軟件有OpenGL和Open Inventor等,一般在選用的是Open Inventor。Open Inventor操作簡單,利用Open Inventor中現(xiàn)有的圖像接口,可以快速地設計場景,進行三維模型的建立,為開發(fā)人員提供了便利[5]。
當前國內外主流的油藏數(shù)模軟件主要有Eclipse、VIP、CMG等,其輸出的網格數(shù)據(jù)和屬性數(shù)據(jù)主要是一種柱狀模型,每個柱狀結構,有個前提條件即是所有的坐標點都在這條頂?shù)c構成的線段上。
油藏數(shù)值模擬模型數(shù)據(jù)可分為兩種,一種是文本格式;另一種是二進制格式。這兩種數(shù)據(jù)格式各有優(yōu)缺點。其中文本格式的文件,利于閱讀和理解;而二進制格式的文件是一種塊文件,讀寫速度快,但是不利于理解。因此在讀入數(shù)據(jù)時,會將二進制文件將其轉換成文本文件。流程如圖1所示。
圖1 處理流程圖
對兩種文件進行分析后,設計統(tǒng)一的數(shù)據(jù)結構,即將二進制的文件或者文本格式的文件通過可擴展的接口轉換成統(tǒng)一的數(shù)據(jù)結構,按照所設計的數(shù)據(jù)結構完成對不同參數(shù)的結果數(shù)據(jù)進行讀取,從而完成異構結果數(shù)據(jù)的統(tǒng)一存儲。
1.1 文本文件格式分析
1.1.1 Eclipse文本文件格式分析
油藏數(shù)值模擬軟件Eclipse建立的靜態(tài)模型,其地層模型文件是保存在*.grdecl的三維場數(shù)據(jù),主要包括文件的一些基本信息以及數(shù)據(jù)文件等,包含網格的定義和每個網格的屬性值。
文件的基本信息包括了網格的個數(shù)、坐標系以及是否使用坐標系標識。
數(shù)據(jù)文件分為兩部分一部分是以關鍵字COORD頂頭為開始行,然后另起一行開始具體的角點數(shù)據(jù),主要是底頂點的坐標變化,每一行有六個數(shù)據(jù),一共有(nx+1)*(ny+1)*6,先進行X方向的變化然后是Y方向的變化。其中數(shù)據(jù)中間可以穿插注釋行,另一部分是以ZCORD關鍵字為開始行,后面另起一行跟隨數(shù)據(jù)體。這主要是Z坐標數(shù)據(jù)的變化,但是由于單元格有8個頂點,因此在存儲的時候,需要進行8次,出現(xiàn)重復的Z坐標數(shù)據(jù),因此在存儲的時候會進行重復存儲,浪費存儲空間。還有以ACTNUM關鍵字為開始行,后面另起一行跟隨單元格有效信息,當所在的單元格有效時代表值是1,無效的單元格使用0表示。格式如下:
COORD
21637758.351519 -5011731.630286 191.644577 21637758.351519 -5011731.630286 391.644379
………………………………………
ZCORN
191.644577 191.590652 191.590652 191.482605 191.482605 191.322113
………………………………………
ACTNUM
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
………………………………………
1.1.2 VIP文本文件格式分析
頂頭以CORP關鍵字為開始行,然后另起一行開始具體的角點數(shù)據(jù)。其中數(shù)據(jù)中間可以穿插注釋行,幾何模型角點數(shù)據(jù)后面為凈厚比數(shù)據(jù),同樣以NETGRS關鍵字為開始行,后面另起一行數(shù)據(jù)為凈厚比數(shù)據(jù)。這里需要注意的是角點數(shù)據(jù)和凈厚比數(shù)據(jù)不能交替出現(xiàn)。格式如下:
CORP VALUE
C GRID BLOCK:I=1,J=1,K=1注釋行
1010.2625 954.2182 1895.6265 1048.1987 955.0655 1895.7871
………………………………………
NETGRS
………………………………………
1.2 二進制文件格式解析
在二進制文件中,一般使用關鍵字進行輸出,而不同的數(shù)值模擬軟件輸出的文件不同,使用的關鍵字也不同。
VIP包括初始化模型結果文件和模擬模型結果文件等[6]。
Eclipse的二進制文件通過塊進行存儲,而存儲的方式是根據(jù)巴恩斯范式[7],其二進制文件格式一般包括三部分:
.GRID文件(*.EGRID文件):存儲網格信息,包括網格的個數(shù)等,其中*.EGRID要小很多;
.INIT文件(*.FINIT文件):屬性文件,存儲著靜態(tài)數(shù)據(jù),包含了各個方向的滲透率以及厚度凈毛比等靜態(tài)屬性;
.UNRST文件:包含動態(tài)屬性,例如:含油飽和度、壓力等。
CMG二進制文件格式一般包括以下部分:
.OUT文件:輸出結果文件,從文件中可以看到每一個事件點的結算結果,錯誤結果也可以從中得到,使用文本文件打開;
SR2二進制索引文件*.IRF:用于數(shù)據(jù)的后處理,調入二維和三維文件的處理結果;
SR2二進制結果文件*.MRF:用于存放二進制的計算結果,主要的結果文件都放在其中;
.FHF文件;存放歷史擬合文件,對油田生產動態(tài)進行擬合。
從以上的文件格式分析中可以看出,不同的數(shù)值模擬軟件,中不同,不同的參數(shù)屬性放在不同的文件中,并且在網格信息的表達,靜態(tài)和動態(tài)數(shù)據(jù)的所使用得關鍵字也不同的。
對油藏體進行數(shù)據(jù)格式的分析之后,根據(jù)各種數(shù)值模擬軟件結果文件的數(shù)據(jù)特點,使用大數(shù)據(jù)體組織方式來設計統(tǒng)一的數(shù)據(jù)結構,提取文件中的關鍵字,從而設計轉換接口來讀取不同數(shù)值模擬軟件的結果文件。
2.1 大數(shù)據(jù)體組織方式
在油藏體進行數(shù)值模擬的過程中,產生大量的二進制結構數(shù)據(jù)或文本格式數(shù)據(jù)文件。大量文件以不同的方式進行存儲,在進行讀入的時候會產生沖突,占用大量的內存,為了解決出現(xiàn)的問題使用大數(shù)據(jù)體組織方式(LDM)進行數(shù)據(jù)管理,LDM是一種多級分組、多分辨率的大數(shù)據(jù)體組織方式[8]。它與八叉樹結構的原理相似,在使用LDM對油藏體進行管理時,對油藏體建立八叉樹結構。具體步驟如下:(油藏體使用八叉樹存儲,將油藏體進行八等分,直到此油藏體劃分到最小,不能進行等分;(劃分出的油藏體網格之間相鄰,利用油藏體的頂點坐標,能快速的尋找出與此油藏體相鄰的油藏體的坐標。八叉樹結構表達了油藏體各個部分之間的聯(lián)系。下面以Eclipse軟件的數(shù)據(jù)為例,利用LDM大數(shù)據(jù)管理模式將Eclipse的數(shù)據(jù)文件形成的油藏體重新劃分,然后利用八叉樹的結構特點,在XYZ 3個方向上劃分,能很快的查找到相鄰的油藏體。
使用LDM進行數(shù)據(jù)管理,讓油藏體數(shù)據(jù)模型按照特定的數(shù)據(jù)組織形式進行輸出,每個單元格都存在8個3維坐標。具體的LDM組織形式如如圖2所示。
圖2 LDM數(shù)據(jù)組織形式
2.2 關鍵字抽取
通過對不同數(shù)值模擬軟件的結果文件格式的分析得出,各數(shù)值模擬軟件的關鍵字有差異,不僅在各個參數(shù)的表達上,還有在3個方向維度上都有不同,例如:Eclipse的角點數(shù)據(jù)是以關鍵字COORD為開頭進行存儲,而VIP的角點數(shù)據(jù)是以CORP關鍵字開始的。利用LDM大數(shù)據(jù)管理模式將油藏體進行統(tǒng)一管理,因此在本文中將各個數(shù)值模擬軟件的關鍵字進行提取,對相同參數(shù)的進行關鍵字的統(tǒng)一,不同參數(shù)的將其關鍵字存儲到可擴展的數(shù)據(jù)接口中。具體方法如下:
(1) 對各個主流的數(shù)值模擬軟件的數(shù)據(jù)格式進行分析,確定各個關鍵字所代表的參數(shù)屬性,確定完成后進行下一步;
(2) 區(qū)分各個關鍵字,對相同的參數(shù)屬性抽取其相同點進行關鍵字的統(tǒng)一化,設置相同的關鍵字,通過擴展接口讀入模塊中,然后將不能抽取相同點的關鍵字進行存儲,然后進行下一步處理;
(3) 對讀入的文件,通過與存儲的關鍵字進行比較進行判斷,看是否進行存儲,存在即可完成文件的讀入,否則返回第二步;
(4) 完成結果文件的調入,進行人機交互。
具體的流程圖,如圖3所示。
關鍵代碼如下:
while (!feof(fp)) {
p = getLine();
m_LineNumber++;
if (CompareKeyword("SPECGRID")) {
res = ReadSpecGrid();//讀取坐標參數(shù)
}
if (CompareKeyword("COORDSYS")) {;
} else {
if (CompareKeyword("COORD")) {
圖3 關鍵字流程圖
res = ReadCoord();//讀取頂?shù)鬃鴺藢?shù)據(jù) }}
if (CompareKeyword("ZCORN")) {
res = ReadZCorn();//讀取Z軸坐標數(shù)據(jù)}
if (CompareKeyword("ACTNUM")) {
res = ReadActnum();//讀取有效網格標志數(shù)據(jù)
}
}
2.3 數(shù)據(jù)格式轉換以及三維可視化
對于油藏體數(shù)據(jù)模型來說,模型中的網格數(shù)量影響著油藏數(shù)值模擬模型的數(shù)據(jù)量。一個有著千萬網格單元的模型、加上靜態(tài)屬性數(shù)據(jù),其數(shù)據(jù)量可以到1GB 以上[9]。不同數(shù)值模擬軟件所輸出的數(shù)據(jù)格式也不盡相同,為了實現(xiàn)不同模擬軟件數(shù)據(jù)結構的統(tǒng)一化,所以本文對前述的 LDM 格式組織以及關鍵字的抽取方案進行了編程實現(xiàn),數(shù)模結果數(shù)據(jù)重新組織以后,文件中的基本數(shù)據(jù)都能進行轉換。該功能的界面,如圖4所示。
圖4 格式轉換功能界面圖
在界面中可以看到,可以選擇靜態(tài)屬性以及動態(tài)屬性,還有時間步,選擇完成后對選中的信息進行轉換。本文在編程實現(xiàn)對數(shù)據(jù)格式的轉換后,將轉換后的油藏體進行展示最終顯示效果,如圖5所示。
本文解析了國內外主流的數(shù)值模擬軟件,例如Eclipse、VIP等,對它們的兩種文件格式進行解析,利用以八叉樹結構為基礎的大數(shù)據(jù)體組織管理方式對油藏體進行網格劃分,構,實現(xiàn)對不同數(shù)值模擬軟件的文件讀入,實現(xiàn)對油藏體的展示。
圖5 油藏體三維顯示圖
[1] 吳永彬,張義堂,劉雙雙.基于PETREL的油藏三維可視化地質建模技術[J]. 鉆采工藝,2007,30(5) : 65-67.
[2] 明光春.油藏數(shù)值模擬結果的三維圖形顯示[J]. 計算機工程與應用,1994(3):121-123.
[3] 張烈輝.油氣藏數(shù)值模擬基本原理[M]. 北京:石油工業(yè)出版社,2005:10-16.
[4] 劉皖露,馬德勝,王強,劉朝霞.化學驅數(shù)值模擬技術[J]. 大慶石油學院學報,2012,(3):72-78.
[5] 張巖,聶永丹,趙建民,等. 油藏體數(shù)模綜合展示技術研究[J]. 沈陽理工大學學報,2013(2):33-37.
[6] 張述. 基于ActiveX自動化技術油藏數(shù)值模擬結果可視化研究與實現(xiàn)[D]. 成都:西南石油大學,2011.
[7] 申龍斌.油田勘探開發(fā)地質對象三維可視化關鍵技術研究[D].青島: 中國海洋大學,2010.
[8] 侯樹杰. 常規(guī)條件下油藏數(shù)值模擬數(shù)據(jù)可視化展示方法[J]. 油氣地質與采收率,2012,(3):57-59.
[9] Jorg E. Aarnes, Vegard Kippe, Knut-Andreas Lie. Mixed Multiscale Finite Elements and Streamline Methods for Reservoir Simulation of Large Geomodels[J]. Advances in Water Resources, 2005, 28(3): 257-259.
ResearchonNumericalSimulationofChemicalFloodingPost-processingTechnology
Zhao Jianmin, Tang Maobin
(School of Computer&Information Technology , Northeast Petroleum University, Daqing 163318, China)
TP311
A
2017.05.20)
趙建民(1991-),男,碩士研究生,研究方向:軟件工程與集成技術。 唐茂斌(1991-),男,碩士研究生,研究方向:軟件工程與集成技術。
1007-757X(2017)09-0050-04