適用于縫洞型碳酸鹽巖油藏的數(shù)值模擬冗余并行計算方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于油氣田開發(fā)領(lǐng)域,具體涉及一種適用于縫洞型碳酸鹽巖油藏的數(shù)值模 擬冗余并行計算方法。
【背景技術(shù)】
[0002] 縫洞型碳酸鹽巖油藏的非均質(zhì)性較強,由于數(shù)值模擬采用有限差分方法對壓力和 飽和度進(jìn)行計算,必須使用對雅可比矩陣的操作和運算。在解矩陣的過程中,相鄰網(wǎng)格的物 性可能相差較大,造成收斂速度緩慢,影響數(shù)模的計算效率。針對此問題,國內(nèi)外出現(xiàn)了對 數(shù)值模擬并行算法的研究,比較典型的方法如下:在硬件方面采用PC集群的方式,架構(gòu)多 臺運算服務(wù)器,服務(wù)器之間的連接方式采用以太網(wǎng)方式。此外,還需要一臺管理服務(wù)器對各 運算服務(wù)器進(jìn)行協(xié)調(diào)。在軟件方面,采用域分解的方式,將參與計算的油藏網(wǎng)格模型分解為 若干個計算區(qū)域,并由管理服務(wù)器分配給各個計算服務(wù)器進(jìn)行計算,每一步的計算結(jié)果出 來以后進(jìn)行匯總,而后進(jìn)行下一步的計算。該類方法相對單機計算速度有了較大的提高,主 要問題是各個計算服務(wù)器CPU之間的通訊占用時間較長,尤其當(dāng)計算主機CPU數(shù)量增大到 一定程度時,CPU之間的通訊甚至比計算的時間還要長。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)中存在的難題,提供一種適用于縫洞型碳酸 鹽巖油藏的數(shù)值模擬冗余并行計算方法,實現(xiàn)對縫洞型油藏數(shù)值模擬并行算法的精細(xì)化處 理,主要解決影響總體性能的CPU間的通訊問題,縮短該類油藏的數(shù)值模擬并行計算時間, 提高整體計算效率。
[0004] 本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
[0005] -種適用于縫洞型碳酸鹽巖油藏的數(shù)值模擬冗余并行計算方法,包括:
[0006] 對建立好的地質(zhì)模型進(jìn)行區(qū)域分解,將其分解成n個網(wǎng)格塊;一個CPU處理器負(fù)責(zé) 一個網(wǎng)格塊;每個網(wǎng)格塊包含1個或多個網(wǎng)格;
[0007] 在進(jìn)行區(qū)域分解后,如果在區(qū)域分解的邊界處有相鄰的網(wǎng)格,其中第一個網(wǎng)格被 分配給第一個CPU處理器,與之相鄰的第二個網(wǎng)格被分配給第二個CPU處理器時,則分別將 第一個網(wǎng)格冗余到第二個CPU處理器上,將第二個網(wǎng)格冗余到第一個CPU處理器上。
[0008] 所述方法進(jìn)一步包括:把所需內(nèi)存分配到所有參與計算的CPU處理器上。
[0009] 每個CPU處理器負(fù)責(zé)計算雅可比矩陣中與其負(fù)責(zé)的網(wǎng)格塊對應(yīng)的行,每一行代表 一個需要解的參數(shù)。
[0010] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:對現(xiàn)有的數(shù)值并行算法的通訊環(huán)節(jié)予以 舍棄,代之以CPU冗余計算功能。發(fā)展了縫洞型油藏數(shù)值模擬理論和方法,使數(shù)值模擬研究 人員可以更高效的進(jìn)行數(shù)模計算。
【附圖說明】
[0011] 圖1,本發(fā)明數(shù)值模擬冗余并行算法網(wǎng)格劃分過程圖。
[0012] 圖2,數(shù)值模擬冗余并行算法網(wǎng)格劃結(jié)果圖。
[0013] 圖3每個CPU上的步驟框圖。
【具體實施方式】
[0014] 下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)描述:
[0015] 本發(fā)明在典型的域分解并行算法的基礎(chǔ)上提出了一種新的解決并行算法中CPU 通訊時間過長的方法。
[0016] 1?網(wǎng)格分區(qū)
[0017] 網(wǎng)格分區(qū),即將網(wǎng)格(該網(wǎng)格指的是建立好的地質(zhì)模型上劃分出來的網(wǎng)格)按照 METIS(METIS是一種網(wǎng)格劃分算法,是基于并行多核處理器的算法。)進(jìn)行區(qū)域分解,網(wǎng)格 分區(qū)原則是保持負(fù)載平衡和減小處理器之間的通信量及復(fù)雜度。按照METIS進(jìn)行區(qū)域分解 具體如下:在數(shù)值模擬并行算法的網(wǎng)格分區(qū)中,將整個數(shù)模網(wǎng)格區(qū)(即先前建立的網(wǎng)格)離 散成許多網(wǎng)格塊。如果有n個CPU處理器用于數(shù)值模擬并行計算,這些網(wǎng)格塊或模擬區(qū)域 需要分解成n個部分(每個網(wǎng)格塊包含1個或多個網(wǎng)格),基于所使用的處理器個數(shù)分解自 動進(jìn)行或根據(jù)物理條件手動進(jìn)行。
[0018] 2?分布式的內(nèi)存分配
[0019]為了減小單個CPU最大內(nèi)存需求,該方法使用分布式內(nèi)存分配,即把所需內(nèi)存分 配到所有參與計算的CPU上(是近似的平均分配,METIS算法根據(jù)每個網(wǎng)格與其相鄰網(wǎng)格 的多少進(jìn)行分配,目的是為了均衡網(wǎng)格之間的通訊量,提高計算速度)。這一方案保證了軟 件的開放性(即用越多CPU可解越大的問題)。
[0020] 數(shù)值模擬的算法是通過有限差分生成雅可比矩陣,有限差分法的公式如下,
[0021]
【主權(quán)項】
1. 適用于縫洞型碳酸鹽巖油藏的數(shù)值模擬冗余并行計算方法,其特征在于:所述方法 包括: 對建立好的地質(zhì)模型進(jìn)行區(qū)域分解,將其分解成n個網(wǎng)格塊;一個CPU處理器負(fù)責(zé)一個 網(wǎng)格塊;每個網(wǎng)格塊包含1個或多個網(wǎng)格; 在進(jìn)行區(qū)域分解后,如果在區(qū)域分解的邊界處有相鄰的網(wǎng)格,其中第一個網(wǎng)格被分配 給第一個CPU處理器,與之相鄰的第二個網(wǎng)格被分配給第二個CPU處理器時,則分別將第一 個網(wǎng)格冗余到第二個CPU處理器上,將第二個網(wǎng)格冗余到第一個CPU處理器上。
2. 根據(jù)權(quán)利要求1所述的適用于縫洞型碳酸鹽巖油藏的數(shù)值模擬冗余并行計算方法, 其特征在于:所述方法進(jìn)一步包括:把所需內(nèi)存分配到所有參與計算的CPU處理器上。
3. 根據(jù)權(quán)利要求2所述的適用于縫洞型碳酸鹽巖油藏的數(shù)值模擬冗余并行計算方法, 其特征在于:每個CPU處理器負(fù)責(zé)計算雅可比矩陣中與其負(fù)責(zé)的網(wǎng)格塊對應(yīng)的行,每一行 代表一個需要解的參數(shù)。
【專利摘要】本發(fā)明提供了一種適用于縫洞型碳酸鹽巖油藏的數(shù)值模擬冗余并行計算方法,屬于油氣田開發(fā)領(lǐng)域。本方法包括:對建立好的地質(zhì)模型進(jìn)行區(qū)域分解,將其分解成n個網(wǎng)格塊;一個CPU處理器負(fù)責(zé)一個網(wǎng)格塊;每個網(wǎng)格塊包含1個或多個網(wǎng)格;在進(jìn)行區(qū)域分解后,如果在區(qū)域分解的邊界處有相鄰的網(wǎng)格,其中第一個網(wǎng)格被分配給第一個CPU處理器,與之相鄰的第二個網(wǎng)格被分配給第二個CPU處理器時,則分別將第一個網(wǎng)格冗余到第二個CPU處理器上,將第二個網(wǎng)格冗余到第一個CPU處理器上。
【IPC分類】G06F9-50, G06F15-16
【公開號】CN104750657
【申請?zhí)枴緾N201310750430
【發(fā)明人】康志江, 李彤, 張力, 趙艷艷, 崔書岳, 張允 , 李紅凱
【申請人】中國石油化工股份有限公司, 中國石油化工股份有限公司石油勘探開發(fā)研究院
【公開日】2015年7月1日
【申請日】2013年12月31日