在巨型儲(chǔ)層中的多孔介質(zhì)仿真中大規(guī)模線性系統(tǒng)的多級(jí)求解的制作方法
【專利摘要】在對(duì)從被組織為細(xì)網(wǎng)格模型的巨型儲(chǔ)層的儲(chǔ)層仿真器壓力方程得出的數(shù)十億個(gè)方程的線性系統(tǒng)進(jìn)行求解的過(guò)程中,多級(jí)方法獲取要使用的快速和粗網(wǎng)格解,以作為細(xì)網(wǎng)格問(wèn)題的更加精確的初始估計(jì)。在所述粗網(wǎng)格上執(zhí)行的求解迭代在降低了處理時(shí)間的同時(shí)產(chǎn)生了更好的初始估計(jì),因此在所述細(xì)網(wǎng)格級(jí)需要更少的較昂貴迭代。
【專利說(shuō)明】在巨型儲(chǔ)層中的多孔介質(zhì)仿真中大規(guī)模線性系統(tǒng)的多級(jí)求 解
[0001] 發(fā)明人 JORGE A. PITA
【技術(shù)領(lǐng)域】
[0002] 本發(fā)明涉及被稱為巨型儲(chǔ)層的計(jì)算機(jī)仿真,特別是在油儲(chǔ)層和可壓縮單相干氣儲(chǔ) 層中的單相流體的仿真過(guò)程中的大規(guī)模線性系統(tǒng)的多級(jí)求解。
【背景技術(shù)】
[0003] 申請(qǐng)人:是發(fā)明人且是本申請(qǐng)共同所有的美國(guó)專利第7, 526, 418號(hào)是一種儲(chǔ)層組 分模擬器,該模擬器在共享存儲(chǔ)器的超級(jí)計(jì)算機(jī)、分布式存儲(chǔ)器超級(jí)計(jì)算機(jī)或被配置為計(jì) 算機(jī)數(shù)據(jù)處理單元(CPU's)的個(gè)人計(jì)算機(jī)(PC)的集群中執(zhí)行仿真。其他使用CPU's的儲(chǔ) 層仿真成果是美國(guó)專利第7, 516, 056號(hào)和7, 684, 967號(hào)。
[0004] 對(duì)由細(xì)網(wǎng)格模型(fine-grid model)(地震級(jí)(seismic-scale) I2· 5 米至 25 米) 組成的巨型方程組的壓力方程和溫度方程的線性求解可占據(jù)地下地質(zhì)構(gòu)造的儲(chǔ)層和盆地 仿真的總仿真時(shí)間的50%或以上。線性求解器確定牛頓迭代所需的"校正"以收斂于基本 非線性偏微分方程組的解,該偏微分方程組以一系列時(shí)間步(time step)定義了儲(chǔ)層流體 的流體流量、物質(zhì)平衡和壓力-體積-溫度條件。對(duì)于公知巨型儲(chǔ)層而言,單元(cell)數(shù) 量可以達(dá)到百萬(wàn)甚至十億或更多。因此,該線性求解過(guò)程計(jì)算強(qiáng)度大且耗費(fèi)時(shí)間。
[0005] 即使當(dāng)前可千兆級(jí)計(jì)算的系統(tǒng),即,由成千上萬(wàn)處理器組成的能夠每秒計(jì)算10的 15次方的系統(tǒng),在對(duì)細(xì)網(wǎng)格模型的仿真模型使用了不準(zhǔn)確的初始猜測(cè)的情況下,也無(wú)法有 效地求解這些方程組。計(jì)算機(jī)系統(tǒng)很多昂貴的線性迭代浪費(fèi)在基于不準(zhǔn)確的初始猜測(cè)尋找 合理求解的方向上。
【發(fā)明內(nèi)容】
[0006] 簡(jiǎn)略地,本發(fā)明提供了在多個(gè)數(shù)據(jù)處理器的數(shù)據(jù)處理系統(tǒng)中對(duì)巨型地下儲(chǔ)層的計(jì) 算機(jī)化仿真的新的和改進(jìn)的方法。所述計(jì)算機(jī)化仿真是對(duì)巨型地下儲(chǔ)層的儲(chǔ)層參數(shù)的方程 的迭代線性求解,該巨型地下儲(chǔ)層被仿真為這樣的模型,該模型被劃分為按有序的單元系 統(tǒng)排列的多個(gè)單元。所述仿真還基于儲(chǔ)層單元的地質(zhì)和流體特性信息。根據(jù)本發(fā)明的方法 包括如下計(jì)算機(jī)處理步驟:將源自原始細(xì)網(wǎng)格級(jí)的儲(chǔ)層的有序單元系統(tǒng)的信息映射到從該 原始網(wǎng)格減少了數(shù)量的粗單元網(wǎng)格中,并在計(jì)算機(jī)系統(tǒng)中針對(duì)該粗單元網(wǎng)格的儲(chǔ)層參數(shù)對(duì) 公設(shè)(postulated)系統(tǒng)解矩陣的進(jìn)行初始化。根據(jù)本發(fā)明的方法還包括如下計(jì)算機(jī)處理 步驟:針對(duì)所接收的粗單元網(wǎng)格的儲(chǔ)層參數(shù)的初始化的公設(shè)系統(tǒng)解矩陣在計(jì)算機(jī)系統(tǒng)中執(zhí) 行預(yù)條件處理共軛梯度外推、在計(jì)算機(jī)系統(tǒng)中將針對(duì)粗單元網(wǎng)格的預(yù)條件處理共軛梯度外 推的結(jié)果轉(zhuǎn)換為原始單元網(wǎng)格、以及在計(jì)算機(jī)系統(tǒng)中對(duì)原始單元網(wǎng)格的儲(chǔ)層參數(shù)執(zhí)行迭代 線性求解。
[0007] 本發(fā)明還提供了在計(jì)算機(jī)系統(tǒng)中用于巨型地下儲(chǔ)層的計(jì)算機(jī)化仿真的新的和改 進(jìn)的數(shù)據(jù)處理系統(tǒng)。所述計(jì)算機(jī)化仿真是對(duì)巨型地下儲(chǔ)層的儲(chǔ)層參數(shù)的方程的迭代線性求 解,該巨型仿真為這樣的模型,該模型被劃分為按有序的單元系統(tǒng)排列的多個(gè)單元。所述仿 真還基于儲(chǔ)層單元的地質(zhì)和流體特性信息。根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)包括多個(gè)數(shù)據(jù)處理 器,每個(gè)數(shù)據(jù)處理器并行執(zhí)行如下步驟:將源自儲(chǔ)層的有序單元系統(tǒng)的信息從原始細(xì)網(wǎng)格 級(jí)映射到從該原始網(wǎng)格減少了數(shù)量的粗單元網(wǎng)格;針對(duì)該粗單元網(wǎng)格的儲(chǔ)層參數(shù)在計(jì)算機(jī) 系統(tǒng)中對(duì)公設(shè)系統(tǒng)解矩陣進(jìn)行初始化;在計(jì)算機(jī)系統(tǒng)中針對(duì)所接收的粗單元網(wǎng)格的儲(chǔ)層參 數(shù)的初始化的公設(shè)系統(tǒng)解矩陣執(zhí)行預(yù)條件處理共軛梯度外推;將針對(duì)粗單元網(wǎng)格的預(yù)條件 處理共軛梯度外推的結(jié)果轉(zhuǎn)換到原始單元網(wǎng)格;以及在計(jì)算機(jī)系統(tǒng)中對(duì)原始單元網(wǎng)格的儲(chǔ) 層參數(shù)執(zhí)行迭代線性求解。所述數(shù)據(jù)處理系統(tǒng)還包括用于存儲(chǔ)原始單元網(wǎng)格的確定的儲(chǔ)層 參數(shù)的存儲(chǔ)器。
[0008] 本發(fā)明還提供了一種具有其中存儲(chǔ)了計(jì)算機(jī)可操作指令的計(jì)算機(jī)可讀介質(zhì)的新 的和改進(jìn)的數(shù)據(jù)存儲(chǔ)裝置,所述指令使得包括多個(gè)數(shù)據(jù)處理器的數(shù)據(jù)處理系統(tǒng)在對(duì)巨型地 下儲(chǔ)層進(jìn)行計(jì)算機(jī)化仿真時(shí)根據(jù)存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)裝置中的計(jì)算機(jī)可操作指令集進(jìn)行 操作。該巨型地下儲(chǔ)層被仿真為這樣的模型,該模型被劃分為按有序的單元系統(tǒng)排列的多 個(gè)單元。該仿真通過(guò)對(duì)儲(chǔ)層參數(shù)的方程進(jìn)行迭代線性求解來(lái)做出并且還基于儲(chǔ)層的單元的 地質(zhì)和流體特性信息。存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)裝置中的計(jì)算機(jī)可操作指令使得所述數(shù)據(jù)處理 系統(tǒng)執(zhí)行下列步驟:將源自儲(chǔ)層的有序單元系統(tǒng)的信息從原始細(xì)網(wǎng)格級(jí)映射到從該原始網(wǎng) 格減少了數(shù)量的粗單元網(wǎng)格;針對(duì)該粗單元網(wǎng)格的儲(chǔ)層參數(shù)在計(jì)算機(jī)系統(tǒng)中對(duì)公設(shè)的系統(tǒng) 解矩陣進(jìn)行初始化;針對(duì)所接收的粗單元網(wǎng)格的儲(chǔ)層參數(shù)的初始化的公設(shè)系統(tǒng)解矩陣在計(jì) 算機(jī)系統(tǒng)中執(zhí)行預(yù)條件處理共軛梯度外推;在計(jì)算機(jī)系統(tǒng)中將針對(duì)粗單元網(wǎng)格的預(yù)條件處 理共軛梯度外推的結(jié)果轉(zhuǎn)換到原始單元網(wǎng)格;以及在計(jì)算機(jī)系統(tǒng)中對(duì)原始單元網(wǎng)格的儲(chǔ)層 參數(shù)執(zhí)行迭代線性求解。
【專利附圖】
【附圖說(shuō)明】
[0009] 圖1是組織成許多單元的巨型地下油氣儲(chǔ)層的組分模型的等距視圖。
[0010] 圖2A和圖2B是源自圖1的油氣儲(chǔ)層模型的不同尺寸的相鄰單元組的放大示意 圖。
[0011] 圖3A和圖3B是將從圖1所示的儲(chǔ)層的粗網(wǎng)格模型獲得的初始解插值到細(xì)網(wǎng)格模 型中的示意圖。
[0012] 圖4A是為根據(jù)本發(fā)明的儲(chǔ)層仿真所安排的異構(gòu)計(jì)算機(jī)系統(tǒng)的示意圖。
[0013] 圖4B是為根據(jù)本發(fā)明的儲(chǔ)層仿真所安排的千兆級(jí)計(jì)算機(jī)系統(tǒng)的示意圖。
[0014] 圖5是根據(jù)本發(fā)明的在地下儲(chǔ)層的計(jì)算機(jī)化儲(chǔ)層仿真期間在圖4A和圖4B的計(jì)算 機(jī)系統(tǒng)中執(zhí)行的一組數(shù)據(jù)處理步驟的功能框圖。
[0015] 圖5A是圖5的數(shù)據(jù)處理步驟的一部分的功能框圖。
[0016] 圖6是圖1的儲(chǔ)層的部分相鄰單元網(wǎng)格的二維排序的示意圖。
[0017] 圖7是圖1的儲(chǔ)層的部分相鄰單元網(wǎng)格的根據(jù)本發(fā)明的重構(gòu)的二維排序的代數(shù)矩 陣的結(jié)構(gòu)的示意圖。
[0018] 圖8是圖1的儲(chǔ)層的部分相鄰單元網(wǎng)格的根據(jù)本發(fā)明的三維排序的示意二維圖 (代數(shù)矩陣的結(jié)構(gòu))。
[0019] 圖9是根據(jù)本發(fā)明的用于應(yīng)用多級(jí)求解插值的示例儲(chǔ)層模型網(wǎng)格的示意圖。
[0020] 圖10是傳統(tǒng)單網(wǎng)格求解處理和根據(jù)本發(fā)明的多級(jí)求解針對(duì)諸如25米地震級(jí)的第 一尺寸的細(xì)網(wǎng)格的每時(shí)間步的處理分鐘的對(duì)比繪圖。
[0021] 圖11是傳統(tǒng)單網(wǎng)格求解處理和根據(jù)本發(fā)明的多級(jí)求解針對(duì)另一個(gè)較小的尺寸 (15米地震級(jí))的細(xì)網(wǎng)格的每時(shí)間步的處理分鐘的對(duì)比繪圖。
[0022] 圖12是根據(jù)本發(fā)明的其數(shù)據(jù)受到處理的實(shí)際儲(chǔ)層的模型的圖像的等距視圖。
【具體實(shí)施方式】
[0023] 在附圖中,字母Μ表示一部分地下油氣儲(chǔ)層的簡(jiǎn)化模型,基于從儲(chǔ)層單元獲得的 地質(zhì)和流體特性信息根據(jù)本發(fā)明在估計(jì)生產(chǎn)壽命上對(duì)基于操作條件和參數(shù)的所述部分地 下油氣儲(chǔ)層的生產(chǎn)結(jié)果進(jìn)行了仿真。因此,所獲得的結(jié)果是可用的并用于仿真歷史績(jī)效和 用于預(yù)測(cè)儲(chǔ)層的產(chǎn)出。基于該仿真的結(jié)果,諸如在美國(guó)專利申請(qǐng)第7, 526, 418中描述和示 出的模型之類的模型可以隨后被形成并可用于評(píng)估和分析。美國(guó)專利申請(qǐng)第7, 526, 418是 本申請(qǐng)的受讓方所擁有的并且通過(guò)引用合并于此。
[0024] 如模型Μ所示出的在期望的儲(chǔ)層壽命上對(duì)其生產(chǎn)數(shù)據(jù)進(jìn)行了仿真的該類型的示 例儲(chǔ)層通常是本領(lǐng)域技術(shù)人員所公知的巨型儲(chǔ)層。巨型儲(chǔ)層在地下可以具有幾英里的長(zhǎng) 度、寬度和深度,例如,可以具有三千億立方英尺的體積或規(guī)模。
[0025] 模型Μ被劃分成許多合適尺寸的單元C,其中的若干個(gè)相鄰單元在圖2Α和圖2Β中 以放大圖1的形式和比例示出。在為了分析而將儲(chǔ)層體積以公知的地震級(jí)劃分成單元時(shí), 如圖2Α中的粗網(wǎng)格20那樣的典型單元每個(gè)在160英尺左右。應(yīng)當(dāng)理解的是在儲(chǔ)層中的共 有基準(zhǔn)面中沿著單元的橫向或平面尺寸是200米和100米的單元也是常見的"粗"網(wǎng)格模 型。在如圖2Β中22處所示的公知的細(xì)網(wǎng)格模型類型中,典型的單元可以是沿著其橫向或 平面尺寸15到20英尺或以下的單元。例如,當(dāng)粗網(wǎng)格是100米而細(xì)網(wǎng)格目標(biāo)模型是25米 時(shí),可以使用兩級(jí)多網(wǎng)格仿真:第一級(jí)使用100米而第二級(jí)使用50米,方法稍后描述。
[0026] 因此,圖1的模型Μ表示由具有上述尺寸的百萬(wàn)或更多單元組成的儲(chǔ)層。如上所 述,在地震級(jí)數(shù)據(jù)的情況下,單元的數(shù)量可以比圖1的情況多幾百倍或以上。將認(rèn)識(shí)到的 是,在附圖中所示的形成模型Μ的單元C比起模型Μ而言被顯著地放大以用于說(shuō)明。關(guān)于 該尺寸的模型的信息和復(fù)雜性如前所述,通過(guò)引用美國(guó)專利申請(qǐng)第7, 526, 418合并。
[0027] 本發(fā)明提供求解多孔介質(zhì)的單相流模型的數(shù)十億方程的快速多級(jí)方法。在本文描 述的實(shí)施例中,單相流可以是略微可壓縮單向流體油儲(chǔ)層的,或者是可壓縮單向氣儲(chǔ)層的。 本發(fā)明的方法可以在如圖4Α中示出為數(shù)據(jù)處理系統(tǒng)D的具有很多CPU' s和加速裝置的異 構(gòu)計(jì)算系統(tǒng)中實(shí)施。本申請(qǐng)的方法也可以在如圖4B中所示的公知的超級(jí)計(jì)算機(jī)S中實(shí)施, 例如IBM藍(lán)色基W+? (Blue Gene? )超級(jí)計(jì)算機(jī),目前已知版本是藍(lán)色基因/P。本申請(qǐng) 已經(jīng)在具有最高65, 536個(gè)計(jì)算機(jī)核的大型計(jì)算機(jī)系統(tǒng)上測(cè)試,并且相比現(xiàn)有方法,提供了 3倍以上的求解時(shí)間的加速。由于單相流系統(tǒng)的線性求解占用了總仿真時(shí)間的極大部分,因 此整體仿真時(shí)間的節(jié)約是顯著的。
[0028] 如將要闡述的,根據(jù)本發(fā)明的多級(jí)方法通過(guò)在粗網(wǎng)格(例如圖2A中20所示)上 求解系統(tǒng)來(lái)獲得解空間的便宜但準(zhǔn)確的初始估計(jì)和猜測(cè)。從粗網(wǎng)格獲得的初始估計(jì)或猜測(cè) 如箭頭21示意性示出般地細(xì)化為如圖2B中22的更精細(xì)的地質(zhì)級(jí)網(wǎng)格,并且,成為更加準(zhǔn) 確的估計(jì),因此細(xì)網(wǎng)格上所需的迭代更少。這種方法避免了由于細(xì)網(wǎng)格模型的每次迭代幾 倍于較粗模型的迭代的時(shí)間而導(dǎo)致的處理時(shí)間的增加。
[0029] 本發(fā)明針對(duì)多級(jí)系統(tǒng)提供了強(qiáng)健的預(yù)條件子(preconditioner)和共軛梯度加速 器。本發(fā)明還提供了能夠快速將粗網(wǎng)格細(xì)化到細(xì)網(wǎng)格中的快速可并行插值方法,即使計(jì)算 硬件由成千上萬(wàn)的計(jì)算核組成的情況下。如將要闡述的,在65, 536核的IBM藍(lán)色基因 /P 超級(jí)計(jì)算機(jī)上計(jì)算的結(jié)果表明,通過(guò)本發(fā)明實(shí)現(xiàn)了三倍或以上的更快速的求解時(shí)間。
[0030] 誅代線件解
[0031] 本發(fā)明提供了用于求解一般線性系統(tǒng)Ax = R的千兆級(jí)并行處理,其中A是系統(tǒng)矩 陣(通常被求解的是非線性方程組的雅可比矩陣),X是系統(tǒng)解的矢量,R是線性系統(tǒng)右手 側(cè)的矢量。在儲(chǔ)層仿真和盆地建模中,該系統(tǒng)在采用牛頓方法進(jìn)行的守恒方程的非線性迭 代期間反復(fù)出現(xiàn)。
[0032] 在牛頓方法中,雅可比矩陣(J)、非線性殘差(F)和變量的非線性迭代更新(s)通 過(guò)等式Js = -F關(guān)聯(lián)。因此與上述正則線性系統(tǒng)Ax = R相比,A表示雅可比"J",x表示解 更新"s"而R表示右手側(cè)的非線性殘差"-F"(采用負(fù)數(shù)標(biāo)記使得牛頓更新直接添加到當(dāng)前 變量狀態(tài))。
[0033] 本發(fā)明的方法是基于這樣的發(fā)現(xiàn),即,在研究更廉價(jià)的方法來(lái)產(chǎn)生準(zhǔn)確的初始估 計(jì)或猜測(cè)以求解從雅可比線性化產(chǎn)生的線性方程組中,細(xì)網(wǎng)格的數(shù)十億方程組所需的迭代 數(shù)量可極大減少,大大節(jié)約了計(jì)算機(jī)時(shí)間。本發(fā)明通過(guò)將細(xì)網(wǎng)格直接抽取或插值成為較粗 的網(wǎng)格來(lái)建立問(wèn)題的較粗的表示法。隨后使用該較小的線性系統(tǒng)來(lái)向線性系統(tǒng)的解迭代。 在得到粗網(wǎng)格初始解之后,本發(fā)明將該解插值到細(xì)網(wǎng)格中,由此細(xì)網(wǎng)格具有更佳的初始猜 測(cè),從而收斂所需的迭代更少(在細(xì)網(wǎng)格中的迭代比在粗網(wǎng)格上的迭代更加耗費(fèi))。
[0034] 初始粗網(wǎng)格解成為細(xì)網(wǎng)格系統(tǒng)的相關(guān)或關(guān)聯(lián)數(shù)量的網(wǎng)格的初始估計(jì)猜測(cè),因此針 對(duì)細(xì)網(wǎng)格的線性系統(tǒng)的解可以在僅幾次迭代后收斂,這是由于該解開始點(diǎn)預(yù)期與真實(shí)細(xì)網(wǎng) 格解接近。該策略在圖3A和圖3B中概念地示出,其中從粗網(wǎng)格模型20的粗網(wǎng)格單元26 延伸的箭頭組24示意性地表示從根據(jù)本發(fā)明的初始解到細(xì)網(wǎng)格模型22的相關(guān)或關(guān)聯(lián)數(shù)量 的細(xì)網(wǎng)格單元28、30、32和34的轉(zhuǎn)換。
[0035] 為了得到粗網(wǎng)格模型20中的初始解,執(zhí)行將細(xì)網(wǎng)格屬性從細(xì)網(wǎng)格模型22映射到 粗網(wǎng)格20中的初始映射。在該實(shí)施例中,細(xì)網(wǎng)格屬性是在泡點(diǎn)壓力以上的基本遵守單相行 為的儲(chǔ)層的壓力和組分。在本發(fā)明的不同實(shí)施例中,初始映射可以通過(guò)不同技術(shù)來(lái)執(zhí)行。已 發(fā)現(xiàn)雙線性插值是處理時(shí)間適中的最有效方法。
[0036] 一旦獲得粗網(wǎng)格解,也可以通過(guò)雙線性插值實(shí)現(xiàn)在圖3B中示意性示出的到細(xì)網(wǎng) 格22的再映射,或者通過(guò)成本更低但不太準(zhǔn)確的直接單射(direct injection)法來(lái)實(shí)現(xiàn) 該再映射。在直接單射中,如圖3A和圖3B中所示,諸如24之類的單元的單個(gè)的粗單元值 被直接復(fù)制到細(xì)網(wǎng)格模型22的四個(gè)單元28、30、32和34中。雙線性插值推薦用于完全異 構(gòu)模型,而直接單射在具有平滑連續(xù)屬性變化的模型中是有利的(即,更快)。
[0037] 現(xiàn)在考慮根據(jù)本發(fā)明的異構(gòu)計(jì)算機(jī)或數(shù)據(jù)處理系統(tǒng),如圖4A中所示,數(shù)據(jù)處理系 統(tǒng)D提供用于儲(chǔ)層的模型Μ中網(wǎng)格塊之間每相關(guān)時(shí)間步的每次牛頓迭代的流體運(yùn)動(dòng)的計(jì)算 機(jī)化仿真。數(shù)據(jù)處理系統(tǒng)D包括一個(gè)或多個(gè)中央處理單元或CPU' s 40。CPU或CPU' s 40 與儲(chǔ)層單元地質(zhì)和流體特性信息的儲(chǔ)層存儲(chǔ)器或數(shù)據(jù)庫(kù)42和用戶界面44相連。用戶界面 44包括圖形化顯示46 (用于顯示圖形化圖像)、打印機(jī)或其他合適的圖像形成機(jī)構(gòu)以及用 戶輸入裝置48,以用于讓用戶操作、訪問(wèn)和提供處理結(jié)果、數(shù)據(jù)庫(kù)記錄和其他信息的輸出形 式。
[0038] 儲(chǔ)層存儲(chǔ)器或數(shù)據(jù)庫(kù)42通常是在外部數(shù)據(jù)存儲(chǔ)計(jì)算機(jī)52的存儲(chǔ)器50中。插入 數(shù)據(jù)庫(kù)42包含:包括模型Μ中單元的結(jié)構(gòu)、位置和組織的數(shù)據(jù);以及關(guān)于井、處理設(shè)施的數(shù) 據(jù),包括測(cè)量的靜態(tài)井下壓力數(shù)據(jù)在內(nèi)的時(shí)間相關(guān)的井生產(chǎn)數(shù)據(jù)的數(shù)據(jù),包括測(cè)量的井口 壓力和注入速度數(shù)據(jù)在內(nèi)的時(shí)間相關(guān)的注入井?dāng)?shù)據(jù)、地質(zhì)信息和流體特性信息以及其他儲(chǔ) 層生產(chǎn)記錄和參數(shù),以用于儲(chǔ)層仿真,下文將進(jìn)行描述。
[0039] 數(shù)據(jù)處理系統(tǒng)D的CPU計(jì)算機(jī)40包括處理器54和與處理器54耦接的內(nèi)部存儲(chǔ) 器56,該內(nèi)部存儲(chǔ)器56用于存儲(chǔ)操作指令、控制信息并按需用作存儲(chǔ)緩存器或傳輸緩存 器。數(shù)據(jù)處理系統(tǒng)D包括存儲(chǔ)在CPU或CPU' s 40的存儲(chǔ)器56中的程序代碼58。根據(jù)本 發(fā)明,程序代碼58是計(jì)算機(jī)可操作指令的形式,如將要闡述的,該指令可以使CPU' s 40來(lái) 回地傳輸數(shù)據(jù)用于讓許多圖形處理單元或GPU' s 60進(jìn)行處理以仿真儲(chǔ)層中的流體運(yùn)動(dòng)。
[0040] 應(yīng)當(dāng)注意到的是,程序代碼58可以是微碼、程序、例程或符號(hào)化計(jì)算機(jī)可操作語(yǔ) 言的形式,它們可以提供特定的有序操作集,該有序操作集可以控制數(shù)據(jù)處理系統(tǒng)D的功 能并指引其操作。程序代碼58的指令可以以非瞬時(shí)性有形計(jì)算機(jī)可讀的形式存儲(chǔ)在存儲(chǔ) 器56中或者以上述形式存儲(chǔ)在計(jì)算機(jī)盤、磁帶、傳統(tǒng)硬盤驅(qū)動(dòng)器、電只讀存儲(chǔ)器、光存儲(chǔ)裝 置或者其上存儲(chǔ)了計(jì)算機(jī)可使用介質(zhì)的其他適當(dāng)?shù)臄?shù)據(jù)存儲(chǔ)裝置上。程序代碼58也可以 作為計(jì)算機(jī)可讀介質(zhì)包含在數(shù)據(jù)存儲(chǔ)裝置上。
[0041] 圖形單元或GPU' s 60是通用可編程圖形處理單元,同樣稱作GPU' s。如將闡述 的,GPU's被編程以使用單獨(dú)單元的線性化的方程組來(lái)確定未知量。在一些情形下,還應(yīng)當(dāng) 理解的是,如果期望,在數(shù)據(jù)處理系統(tǒng)D中還可以使用除GPU's以外的處理器節(jié)點(diǎn)作為處理 器節(jié)點(diǎn)。
[0042] 雖然本發(fā)明與使用的特定計(jì)算機(jī)硬件無(wú)關(guān),但是本發(fā)明的一個(gè)實(shí)施例是基于適當(dāng) 數(shù)量的四核CPU' S和多核CPU' S的。在示例系統(tǒng)實(shí)施例中使用的CPU' S 40是Intel四 核Nehalem處理器或Intel六核Westmere處理器的形式,在示例實(shí)施例中,優(yōu)選地GPU' s 60 是 440-核的 NVidia Fermi M2070Q 或 512-核的 NVidia Fermi QuadroPlex7000GPU,s。 然而,應(yīng)當(dāng)理解的是,如下將要闡述的,還可以使用其他計(jì)算機(jī)硬件。
[0043] 本發(fā)明經(jīng)由GPU' s 60采用雙級(jí)(dual-tier)方法來(lái)加速,相比早期方法,可以獲 得接近數(shù)量級(jí)的速度改進(jìn)。本發(fā)明在包括CPU'S40和GPU's 60兩者的異構(gòu)(混合式)計(jì) 算機(jī)環(huán)境中實(shí)現(xiàn)儲(chǔ)層仿真。因此,本發(fā)明提供了用于巨型地下儲(chǔ)層的細(xì)網(wǎng)格儲(chǔ)層仿真的線 性系統(tǒng)的基于計(jì)算機(jī)的系統(tǒng)。
[0044] 在本發(fā)明中得到的儲(chǔ)層仿真處理的線性化的方程組處理序列的加速可以大量節(jié) 約計(jì)算機(jī)時(shí)間,降低成本并允許在給定的時(shí)間限制內(nèi)進(jìn)行更多的儲(chǔ)層研究。如將要闡述的, 在一些情況下處理時(shí)間加速了三倍。在本發(fā)明中,計(jì)算的加速使得比從前更快的確定成為 可能,因此儲(chǔ)層仿真器可以與現(xiàn)場(chǎng)測(cè)量值的實(shí)時(shí)數(shù)據(jù)采集同步。
[0045] 在圖4B中,示意性地示出了諸如IBM藍(lán)色基因 /P之類的能夠千兆級(jí)計(jì)算的 大規(guī)模并行計(jì)算機(jī)或數(shù)據(jù)處理系統(tǒng)S。該計(jì)算機(jī)系統(tǒng)的進(jìn)一步細(xì)節(jié)在例如美國(guó)專利第 7, 680, 048 中闡述。
[0046] 計(jì)算機(jī)系統(tǒng)S包括具有以規(guī)則陣列或格子方式邏輯排列了用于節(jié)點(diǎn)間通信的大 量計(jì)算節(jié)點(diǎn)72的計(jì)算核70,其集合地執(zhí)行批量處理。計(jì)算機(jī)系統(tǒng)S和計(jì)算核70的操作通 常由控制子系統(tǒng)74控制。包括在前端節(jié)點(diǎn)76中的各種附加處理器執(zhí)行一定的輔助數(shù)據(jù)處 理功能,而文件服務(wù)器78向數(shù)據(jù)存儲(chǔ)裝置提供諸如可旋轉(zhuǎn)磁盤驅(qū)動(dòng)器80和82之類的接口 或者其他輸入/輸出(I/O)源。功能網(wǎng)絡(luò)84提供計(jì)算核70和其他系統(tǒng)組件之間的主要數(shù) 據(jù)通信路徑。例如,存儲(chǔ)在連接到文件服務(wù)器78的存儲(chǔ)裝置中的數(shù)據(jù)被加載并通過(guò)功能網(wǎng) 絡(luò)84存儲(chǔ)到其他系統(tǒng)組件。
[0047] 計(jì)算核70包括許多輸入/輸出(I/O)節(jié)點(diǎn)86和計(jì)算節(jié)點(diǎn)72。計(jì)算節(jié)點(diǎn)72執(zhí)行 根據(jù)本發(fā)明的計(jì)算加強(qiáng)的儲(chǔ)層仿真處理,該處理需要大量的并行進(jìn)行的處理。每個(gè)I/O節(jié) 點(diǎn)86對(duì)N個(gè)計(jì)算節(jié)點(diǎn)72的各個(gè)集合處理I/O操作。計(jì)算核70包括Μ個(gè)I/O節(jié)點(diǎn)86的集 合以及它們的相關(guān)的計(jì)算節(jié)點(diǎn)集合,因此計(jì)算核70包括總共Μ乘Ν個(gè)計(jì)算節(jié)點(diǎn)72。在計(jì)算 核70中的計(jì)算節(jié)點(diǎn)的數(shù)量可以非常龐大。例如,在一個(gè)Μ = 1024 (1Κ)且Ν = 64的實(shí)施方 式中,總計(jì)有64Κ個(gè)計(jì)算節(jié)點(diǎn)。
[0048] 通常,應(yīng)用程序編程代碼和計(jì)算核用于執(zhí)行用戶應(yīng)用程序處理所需的其他數(shù)據(jù)輸 入以及計(jì)算核執(zhí)行用戶應(yīng)用程序處理而產(chǎn)生的數(shù)據(jù)輸出在功能網(wǎng)絡(luò)84上的計(jì)算核外部通 信。集合內(nèi)的計(jì)算節(jié)點(diǎn)72與相應(yīng)的I/O節(jié)點(diǎn)86在相應(yīng)的本地I/O樹狀網(wǎng)絡(luò)88上通信。1/ 〇節(jié)點(diǎn)86依次連接到功能網(wǎng)絡(luò)84,在該功能網(wǎng)絡(luò)84上,它們與連接到文件服務(wù)器78的I/O 裝置通信,或者與其他系統(tǒng)組件通信。因此,功能網(wǎng)絡(luò)84為計(jì)算節(jié)點(diǎn)處理所有1/0,需要非 常大的帶寬。功能網(wǎng)絡(luò)84可以是到多個(gè)以太網(wǎng)交換機(jī)的千兆比特以太網(wǎng)接口的集合。本 地I/O樹狀網(wǎng)絡(luò)88邏輯上可以看成是功能網(wǎng)絡(luò)84的擴(kuò)展,這是因?yàn)楸M管它們是與功能網(wǎng) 絡(luò)84物理分隔開的并遵守不同的協(xié)議,但是I/O操作通過(guò)兩者進(jìn)行。
[0049] 控制子系統(tǒng)78管理計(jì)算核70中的計(jì)算節(jié)點(diǎn)72的操作。控制子系統(tǒng)74優(yōu)選地是 微機(jī)系統(tǒng),該微機(jī)系統(tǒng)包括其自有的處理器或處理器群、內(nèi)部存儲(chǔ)器和本地存儲(chǔ)裝置,并且 具有用于與系統(tǒng)管理員或類似人員交互的隨附的控制臺(tái)90。
[0050] 控制子系統(tǒng)74還包括內(nèi)部數(shù)據(jù)庫(kù),其維護(hù)計(jì)算核70中的計(jì)算節(jié)點(diǎn)的一定狀態(tài)信 息以及各種控制和/或維護(hù)應(yīng)用程序,這些應(yīng)用程序在控制子系統(tǒng)74的處理器上執(zhí)行,并 且控制計(jì)算核70中硬件分配、指引到計(jì)算節(jié)點(diǎn)的數(shù)據(jù)預(yù)加載以及執(zhí)行一定的診斷和維護(hù) 功能。控制子系統(tǒng)74在控制系統(tǒng)網(wǎng)絡(luò)92上與計(jì)算核70的節(jié)點(diǎn)交流控制和狀態(tài)信息。網(wǎng) 絡(luò)92與一組硬件控制器94耦接,該組硬件控制器94與相關(guān)的計(jì)算節(jié)點(diǎn)72的集合的節(jié)點(diǎn) 以及它們各自的I/O節(jié)點(diǎn)86在相應(yīng)的本地硬件控制網(wǎng)絡(luò)上通信。硬件控制器94和本地硬 件控制網(wǎng)絡(luò)可以邏輯上認(rèn)為是控制系統(tǒng)網(wǎng)絡(luò)92的擴(kuò)展,盡管它們?cè)谖锢砩戏指糸_。控制系 統(tǒng)網(wǎng)絡(luò)和本地硬件控制網(wǎng)絡(luò)以比功能網(wǎng)絡(luò)84低得多的數(shù)據(jù)速率操作。
[0051] 除了控制子系統(tǒng)74之外,前端節(jié)點(diǎn)76也在計(jì)算核外部最優(yōu)執(zhí)行,該前端節(jié)點(diǎn)76 包括處理器和存儲(chǔ)器的集合,其為了效率或其他原因執(zhí)行一定的附屬功能。涉及大量I/O 操作的功能通常在前端節(jié)點(diǎn)中執(zhí)行。例如,交互數(shù)據(jù)輸入、應(yīng)用程序代碼編輯或其他用戶接 口功能通常由前端節(jié)點(diǎn)76處理,如同應(yīng)用程序編譯那樣。前端節(jié)點(diǎn)76與功能網(wǎng)絡(luò)84耦接 以和文件服務(wù)器78通信,并可以包括或耦接到交互工作站。如上所述,藍(lán)色基因》處理器 Ρ的進(jìn)一步細(xì)節(jié)在美國(guó)專利第7, 680, 048中闡述,其通過(guò)引用合并于此。
[0052] 由于千兆級(jí)計(jì)算以及未來(lái)的百萬(wàn)兆級(jí)計(jì)算傾向于采用具有很多CPU的異構(gòu)架構(gòu), 而且也可能采用很多加速器裝置(GPU或多核集成芯片),根據(jù)本發(fā)明優(yōu)化了粗網(wǎng)格求解和 細(xì)網(wǎng)格求解兩者所采取的基本線性求解方法。如下將要闡述的,該優(yōu)化在預(yù)條件處理級(jí)和 共軛梯度加速級(jí)都提供了不同硬件組件之間最小的通信和數(shù)據(jù)傳輸。因此,根據(jù)本發(fā)明的 多級(jí)方法得益于無(wú)論施加何種硬件配置都高效率的整體單處理框架。
[0053] 流程F(圖5)示出了采用本發(fā)明的方法的儲(chǔ)層仿真的基本計(jì)算機(jī)處理序列和在應(yīng) 用本發(fā)明的典型實(shí)施例期間采取的計(jì)算序列。
[0054] 讀取地質(zhì)模型(步驟100):根據(jù)本發(fā)明的仿真開始于將地質(zhì)模型讀取為輸入和時(shí) 不變數(shù)據(jù)。在步驟100期間讀入的地質(zhì)模型采用二進(jìn)制數(shù)據(jù)形式,其包含每個(gè)儲(chǔ)層模型屬 性的每網(wǎng)格單元的一個(gè)數(shù)值。這些屬性包括下列:巖石滲透率張量;巖石孔隙度,X、y和Z 方向上的單個(gè)單元尺寸;每個(gè)單元的頂深;每個(gè)現(xiàn)有流體界面(油氣界面、氣水界面和油水 界面,如適用)的χ-y-z位置。
[0055] 在步驟100期間讀入的時(shí)不變數(shù)據(jù)包括每個(gè)分量的流體特性組分和熱動(dòng)力屬性 (臨界溫度、臨界壓力、臨界體積、離心因子、分子量、等張比容、偏移參數(shù)和二元相互作用系 數(shù))。時(shí)不變數(shù)據(jù)還包括流體相關(guān)滲透率表格,該表格提供了考慮中的儲(chǔ)層巖石的給定流體 飽和度的相對(duì)滲透率的值,以及儲(chǔ)層溫度,因?yàn)楸灸P褪堑葴氐摹?br>
[0056] 將模型離散化(步驟102):基于連接的滲透率和單元幾何形狀,對(duì)每個(gè)單元執(zhí)行 巖石傳遞率的計(jì)算并存儲(chǔ)到存儲(chǔ)器中。取決于輸入數(shù)據(jù)(例如塊-面滲透率或塊-中心滲 透率),存在本領(lǐng)域人員熟悉的若干用于傳遞率計(jì)算的模型。此外,每個(gè)單元的孔隙體積被 計(jì)算并存儲(chǔ)在存儲(chǔ)器中。
[0057] 初始化儲(chǔ)層(步驟104):在進(jìn)行仿真之前,必須計(jì)算儲(chǔ)層中流體的初始分布。該 處理涉及在每個(gè)單元迭代壓力。在每個(gè)點(diǎn)的壓力等于"基準(zhǔn)(datum)"壓力加上該點(diǎn)上流體 的靜壓頭。因?yàn)閱卧幍撵o壓頭取決于單元上的流體的柱狀密度,根據(jù)狀態(tài)方程(或E0S, 下面描述),密度本身取決于壓力和流體組分,因此求解本質(zhì)上是迭代的。在每個(gè)單元處,計(jì) 算出的壓力被用于計(jì)算新的密度,從該新的密度重新計(jì)算新的靜壓頭和單元壓力。當(dāng)以這 種方式迭代的壓力不再進(jìn)一步變化時(shí),系統(tǒng)被平衡,儲(chǔ)層被稱作"已初始化"。
[0058] 讀取和組織數(shù)據(jù)(步驟106):在步驟106期間讀入的周期性數(shù)據(jù)是時(shí)變數(shù)據(jù),同 樣,其必須在仿真期間的每個(gè)時(shí)間步處讀取。該數(shù)據(jù)包括已經(jīng)在仿真的"歷史"時(shí)期(用來(lái) 校準(zhǔn)仿真器的已知現(xiàn)場(chǎng)生產(chǎn)數(shù)據(jù)的時(shí)期)期間被觀測(cè)的每口井的油、氣和水速率。該數(shù)據(jù) 還包括將在"預(yù)測(cè)"階段(期望仿真器預(yù)測(cè)的現(xiàn)場(chǎng)生產(chǎn)時(shí)期)期間規(guī)定的生產(chǎn)方針。生產(chǎn) 方針數(shù)據(jù)包括諸如每口井或井組需要的速率和應(yīng)當(dāng)施加到仿真上的約束(諸如最大氣-油 t匕、每口井被允許的最小井底-井口壓力等)之類的數(shù)據(jù)。該數(shù)據(jù)可基于"歷史"階段期間 實(shí)際現(xiàn)場(chǎng)測(cè)量值或基于"預(yù)測(cè)"階段期間期望的生產(chǎn)能力而隨時(shí)間階段發(fā)生變化。
[0059] 通過(guò)本發(fā)明,節(jié)約時(shí)間的主要策略是生成細(xì)單元參數(shù)值的成本低的良好的初始估 計(jì)或猜測(cè)。此外,當(dāng)異構(gòu)系統(tǒng)用作計(jì)算架構(gòu)時(shí),從基本迭代處理的降低的通信需求得到額外 的加速獲益。
[0060] 考慮圖6,其示出了網(wǎng)格中的儲(chǔ)層的簡(jiǎn)單的自然排列的相鄰單元C,為簡(jiǎn)化起見, 只以二維方式繪制。對(duì)儲(chǔ)層單元的這種單元分組示意性地在圖5的步驟106處示出。單元C 被配置到棋盤格圖案的兩個(gè)區(qū)別組中(畫影線的表示組1而空白的表示組2)。組2中空白 單元的未知量將采用偶數(shù)下標(biāo)識(shí)別而組1的畫影線的單元的未知量將采用奇數(shù)下標(biāo)識(shí)別。 以圖6所示的方式示出的單元組或單元排序在步驟106期間產(chǎn)生由5種連接(connection) (東"e"、西"w",北"η"、南"s"和中-對(duì)角"d")組成的有限差分模板。用這種方式將儲(chǔ) 層單元的交替的單元分組或組織到兩個(gè)區(qū)別組中,產(chǎn)生矩陣結(jié)構(gòu),該矩陣結(jié)構(gòu)之后在步驟 106 (圖5)期間被重新排序或配置為如圖7示意性示出的矩陣結(jié)構(gòu)。
[0061] 應(yīng)當(dāng)注意的是,圖7的矩陣結(jié)構(gòu),以重新排序的形式配置在四個(gè)不同的象限中,奇 數(shù)未知量組在矩陣的上部而偶數(shù)未知量組在矩陣的下部。通過(guò)重新排列混合計(jì)算機(jī)硬件的 計(jì)算順序,新型變體被用來(lái)使得CPU-GPU環(huán)境的求解處理最優(yōu)化,不僅意在最小化CPU和 GPU之間的通信量,而且留意到對(duì)GPU' s的當(dāng)前存儲(chǔ)限制。該過(guò)程在混合GPU-CPU計(jì)算中 將該流量和GPU存儲(chǔ)需求減半,這是本發(fā)明的一個(gè)重要特征。
[0062] 矩陣填充是稀疏的,所以只有標(biāo)記的條目需要被存儲(chǔ)到存儲(chǔ)器中。為了便于標(biāo)記, 圖7中奇數(shù)對(duì)角線項(xiàng)的左上象限被標(biāo)記為Q,偶數(shù)的西-東-北-南項(xiàng)的右上象限被標(biāo)記 為札,偶數(shù)的西-東-北-南項(xiàng)的左下象限被標(biāo)記為V2而偶數(shù)對(duì)角線項(xiàng)的右下象限被標(biāo)記 為C2。
[0063] 擴(kuò)展為三維網(wǎng)格是直接的,其中兩條新的條目出現(xiàn)在矩陣中:"上"和"下"連接, 其與Ci和C2矩陣中的對(duì)角線項(xiàng)相鄰。換句話說(shuō),三維網(wǎng)格將這些對(duì)角線矩陣變換為如圖8 示出的三對(duì)角線形式。
[0064] 但是,應(yīng)當(dāng)注意到的是,以地震級(jí)成網(wǎng)格的地質(zhì)模型在很多情況下可包括故障和 尖滅(pinch-out),其不符合概括于此的規(guī)則連接集合,它們將根據(jù)地質(zhì)解釋而插入到模型 中,即使它們?cè)诘卣饠?shù)據(jù)中不可見。這些附加的連接有必要受到相應(yīng)處理,在本實(shí)施例中, 有必要在線性系統(tǒng)的右手側(cè)中進(jìn)行(以便維持同樣的疏松結(jié)構(gòu))。取決于連接項(xiàng)的量級(jí),如 果連接脆弱,本發(fā)明按需執(zhí)行。但是,對(duì)于連接強(qiáng)健,需要更多迭代或更強(qiáng)預(yù)條件子的情況, 收斂可能是個(gè)問(wèn)題。
[0065] 在后面的說(shuō)明中將看到,通過(guò)以如步驟106 (圖5)的示意性地示出的方式排序和 重新排序未知量而進(jìn)行的配置成功提供了線性解,該線性解可以每次以大約一半未知量的 形式分成兩部分處理。這對(duì)GPU是有利的,有兩個(gè)原因:從CPU到GPU的數(shù)據(jù)傳輸量被減半 且殘留在GPU存儲(chǔ)器(其小于CPU的存儲(chǔ)器)中的數(shù)據(jù)量也被減半。在同構(gòu)計(jì)算機(jī)系統(tǒng)中, 這可以轉(zhuǎn)化為對(duì)這些操作期間的工作陣列中的CPU存儲(chǔ)器的節(jié)約,因此可以處理更大的模 型。
[0066] 在將單元重新排序?yàn)閮蓚€(gè)子組(如所述的,標(biāo)記為1和2)之后,形成矩陣A :
【權(quán)利要求】
1. 一種在多個(gè)數(shù)據(jù)處理器的數(shù)據(jù)處理系統(tǒng)中對(duì)巨型地下儲(chǔ)層進(jìn)行計(jì)算機(jī)化仿真的方 法,該計(jì)算機(jī)化仿真是針對(duì)巨型地下儲(chǔ)層的儲(chǔ)層參數(shù)的方程進(jìn)行迭代線性求解,所述巨型 地下儲(chǔ)層被仿真為劃分成以有序單元系統(tǒng)排列的多個(gè)單元的模型,所述仿真進(jìn)一步基于儲(chǔ) 層的單元的地質(zhì)和流體特性信息,所述方法包括計(jì)算機(jī)處理步驟: (a) 將來(lái)自所述儲(chǔ)層的有序單元系統(tǒng)的信息從原始細(xì)網(wǎng)格級(jí)映射到從該原始網(wǎng)格降低 了數(shù)目的粗單元網(wǎng)格中; (b) 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述粗單元網(wǎng)格的儲(chǔ)層參數(shù)來(lái)對(duì)公設(shè)系統(tǒng)解矩陣進(jìn)行初 始化; (c) 在所述計(jì)算機(jī)系統(tǒng)中對(duì)接收的所述粗單元網(wǎng)格的儲(chǔ)層參數(shù)的初始化的公設(shè)系統(tǒng)解 矩陣執(zhí)行預(yù)條件處理的共軛梯度外推; (d) 在所述計(jì)算機(jī)系統(tǒng)中將所述粗單元網(wǎng)格的預(yù)條件處理的共軛梯度外推的結(jié)果轉(zhuǎn)換 到所述原始單元網(wǎng)格;以及 (e) 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)執(zhí)行迭代線性求解。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)處理系統(tǒng)包括顯示器,并且所述方法進(jìn) 一步包括形成針對(duì)所述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)執(zhí)行迭代線性求解的結(jié)果的輸出顯示 的步驟。
3. 根據(jù)權(quán)利要求1所述的方法,其中所述儲(chǔ)層參數(shù)包括在所述儲(chǔ)層的單元中的流體流 動(dòng)。
4. 根據(jù)權(quán)利要求1所述的方法,其中所述儲(chǔ)層參數(shù)包括在所述儲(chǔ)層的單元中的單相流 體流動(dòng)。
5. 根據(jù)權(quán)利要求1所述的方法,其中在所述計(jì)算機(jī)系統(tǒng)中的針對(duì)所述粗單元網(wǎng)格的儲(chǔ) 層參數(shù)的預(yù)條件處理的共軛梯度外推的處理的所述計(jì)算機(jī)處理步驟包括步驟:形成儲(chǔ)層中 的第一組相互間隔開的單元的解的矩陣值的初始估計(jì)。
6. 根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括計(jì)算機(jī)處理步驟: 確定與所述第一組相互間隔開的單元相鄰的第二組相互間隔開的單元的初始估計(jì)。
7. 根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括計(jì)算機(jī)處理步驟: 確定所述第一組相互間隔開的單元的殘差矩陣值。
8. 根據(jù)權(quán)利要求1所述的方法,其中所述執(zhí)行預(yù)條件處理的共軛梯度外推的計(jì)算機(jī)處 理步驟包括步驟:針對(duì)粗單元網(wǎng)格的儲(chǔ)層參數(shù)在公設(shè)系統(tǒng)解矩陣上形成矩陣預(yù)條件子。
9. 根據(jù)權(quán)利要求1所述的方法,其中所述在處理器中將預(yù)條件處理的共軛梯度外推的 結(jié)果進(jìn)行轉(zhuǎn)換的計(jì)算機(jī)處理步驟包括步驟: 對(duì)矩陣值執(zhí)行三對(duì)角線求解以求解儲(chǔ)層中的所述第一組相互間隔開的粗網(wǎng)格單元;以 及 對(duì)矩陣值執(zhí)行三對(duì)角線求解以求解儲(chǔ)層中的所述第二組相互間隔開的粗網(wǎng)格單元。
10. 根據(jù)權(quán)利要求1所述的方法,其中所述對(duì)原始網(wǎng)格的單元執(zhí)行迭代線性求解的步 驟包括計(jì)算機(jī)處理步驟: 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述原始網(wǎng)格的單元對(duì)公設(shè)系統(tǒng)解矩陣進(jìn)行初始化;以及 在所述計(jì)算機(jī)系統(tǒng)中對(duì)接收到的所述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)的初始化的公設(shè)系 統(tǒng)解矩陣執(zhí)行預(yù)條件處理的共軛梯度外推。
11. 一種用于在計(jì)算機(jī)系統(tǒng)中對(duì)巨型地下儲(chǔ)層進(jìn)行計(jì)算機(jī)化仿真的數(shù)據(jù)處理系統(tǒng),該 計(jì)算機(jī)化仿真是針對(duì)巨型地下儲(chǔ)層的儲(chǔ)層參數(shù)的方程的迭代線性求解,所述巨型地下儲(chǔ)層 被仿真為劃分成以有序單元系統(tǒng)排列的多個(gè)單元的模型,所述仿真進(jìn)一步基于儲(chǔ)層的單元 的地質(zhì)和流體特性信息,所述數(shù)據(jù)處理系統(tǒng)包括: (a) 多個(gè)數(shù)據(jù)處理器,每個(gè)以并行方式執(zhí)行如下步驟: (1) 將來(lái)自所述儲(chǔ)層的有序單元系統(tǒng)的信息從原始細(xì)網(wǎng)格級(jí)映射到從該原始網(wǎng)格降低 了數(shù)目的粗單元網(wǎng)格中; (2) 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述粗單元網(wǎng)格的儲(chǔ)層參數(shù)來(lái)對(duì)公設(shè)系統(tǒng)解矩陣進(jìn)行初 始化; (3) 在所述計(jì)算機(jī)系統(tǒng)中對(duì)接收的所述粗單元網(wǎng)格的儲(chǔ)層參數(shù)的初始化的公設(shè)系統(tǒng)解 矩陣執(zhí)行預(yù)條件處理的共軛梯度外推; (4) 將所述粗單元網(wǎng)格的預(yù)條件處理的共軛梯度外推的結(jié)果轉(zhuǎn)換到所述原始單元網(wǎng) 格;以及 (5) 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)執(zhí)行迭代線性求解;和 (b) 存儲(chǔ)器,其用于存儲(chǔ)所述原始網(wǎng)格的單元的確定的儲(chǔ)層參數(shù)。
12. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述多個(gè)處理器包括異構(gòu)的計(jì)算機(jī)節(jié) 點(diǎn)組。
13. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述多個(gè)處理器包括同構(gòu)的計(jì)算機(jī)節(jié) 點(diǎn)組。
14. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述數(shù)據(jù)處理系統(tǒng)進(jìn)一步包括形成所 述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)的輸出圖像的顯示器。
15. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述儲(chǔ)層參數(shù)包括在該所述儲(chǔ)層的單 元中的流體流動(dòng)。
16. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述儲(chǔ)層參數(shù)包括在所述儲(chǔ)層的單元 中的單相流體流動(dòng)。
17. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器在執(zhí)行針對(duì)粗單元網(wǎng)格的 儲(chǔ)層參數(shù)的預(yù)條件處理的共軛梯度外推的步驟時(shí)執(zhí)行形成儲(chǔ)層中的第一組相互間隔開的 網(wǎng)格的解的矩陣值的初始估計(jì)的步驟。
18. 根據(jù)權(quán)利要求17所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器進(jìn)一步執(zhí)行計(jì)算機(jī)處理步 驟: 確定與所述第一組相互間隔開的單元相鄰的第二組相互間隔開的單元的初始估計(jì)。
19. 根據(jù)權(quán)利要求17所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器進(jìn)一步執(zhí)行計(jì)算機(jī)處理步 驟: 確定所述第一組相互間隔開的單元的殘差矩陣值。
20. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器在執(zhí)行預(yù)條件處理的共軛 梯度外推的步驟時(shí)執(zhí)行針對(duì)粗單元網(wǎng)格的儲(chǔ)層參數(shù)在公設(shè)系統(tǒng)解矩陣上形成矩陣預(yù)條件 子的步驟。
21. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器在執(zhí)行將預(yù)條件處理的共 軛梯度外推的結(jié)果進(jìn)行轉(zhuǎn)換的步驟時(shí)執(zhí)行如下步驟: 對(duì)矩陣值執(zhí)行三對(duì)角線求解以求解儲(chǔ)層中的所述第一組相互間隔開的粗網(wǎng)格單元;以 及 對(duì)矩陣值執(zhí)行三對(duì)角線求解以求解儲(chǔ)層中的所述第二組相互間隔開的粗網(wǎng)格單元。
22. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器在執(zhí)行原始網(wǎng)格的單元的 儲(chǔ)層參數(shù)的迭代線性求解時(shí)執(zhí)行計(jì)算機(jī)處理步驟: 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述原始網(wǎng)格的單元對(duì)公設(shè)系統(tǒng)解矩陣進(jìn)行初始化;以及 在所述計(jì)算機(jī)系統(tǒng)中對(duì)接收到的所述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)的初始化的公設(shè)系 統(tǒng)解矩陣執(zhí)行預(yù)條件處理的共軛梯度外推。
23. -種具有其中存儲(chǔ)了計(jì)算機(jī)可操作指令的非瞬時(shí)性計(jì)算機(jī)可讀介質(zhì)的數(shù)據(jù)存儲(chǔ)裝 置,所述計(jì)算機(jī)可操作指令使得包括多個(gè)數(shù)據(jù)處理器的數(shù)據(jù)處理系統(tǒng)操作,在巨型地下儲(chǔ) 層的計(jì)算機(jī)化仿真期間,所述巨型地下儲(chǔ)層被仿真為劃分成以有序單元系統(tǒng)排列的多個(gè)單 元的模型,所述仿真通過(guò)迭代線性求解儲(chǔ)層參數(shù)的方程并且所述仿真進(jìn)一步基于儲(chǔ)層的單 元的地質(zhì)和流體特性信息,并且,存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)裝置中的計(jì)算機(jī)可操作指令使得所 述數(shù)據(jù)處理系統(tǒng)執(zhí)行下列步驟: (a) 將來(lái)自所述儲(chǔ)層的有序單元系統(tǒng)的信息從原始細(xì)網(wǎng)格級(jí)映射到從該原始網(wǎng)格降低 了數(shù)目的粗單元網(wǎng)格中; (b) 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述粗單元網(wǎng)格的儲(chǔ)層參數(shù)來(lái)對(duì)公設(shè)系統(tǒng)解矩陣進(jìn)行初 始化; (c) 在所述計(jì)算機(jī)系統(tǒng)中對(duì)接收的所述粗單元網(wǎng)格的儲(chǔ)層參數(shù)的所述初始化的公設(shè)系 統(tǒng)解矩陣執(zhí)行預(yù)條件處理的共軛梯度外推; (d) 在所述計(jì)算機(jī)系統(tǒng)中將所述粗單元網(wǎng)格的預(yù)條件處理的共軛梯度外推的結(jié)果轉(zhuǎn)換 到所述原始單元網(wǎng)格;以及 (e) 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)執(zhí)行迭代線性求解。
24. 根據(jù)權(quán)利要求23所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述用于粗單元網(wǎng)格的儲(chǔ)層參數(shù)的預(yù) 條件處理的共軛梯度外推的指令包括使得處理器執(zhí)行以下計(jì)算機(jī)處理步驟的指令: 形成儲(chǔ)層中的第一組相互間隔開的單元的解的矩陣值的初始估計(jì)。
25. 根據(jù)權(quán)利要求24所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述指令進(jìn)一步包括使得處理器執(zhí)行 以下計(jì)算機(jī)處理步驟的指令: 確定與所述第一組相互間隔開的單元相鄰的第二組相互間隔開的單元的初始估計(jì)。
26. 根據(jù)權(quán)利要求24所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述指令進(jìn)一步包括使得處理器執(zhí)行 以下計(jì)算機(jī)處理步驟的指令: 確定所述第一組相互間隔開的單元的殘差矩陣值。
27. 根據(jù)權(quán)利要求24所述的數(shù)據(jù)存儲(chǔ)裝置,其中在圖形處理單元中執(zhí)行預(yù)條件處理的 共軛梯度外推的指令包括使得該圖形處理單元執(zhí)行以下計(jì)算機(jī)處理步驟的指令: 在初始化的系統(tǒng)解矩陣上形成矩陣預(yù)條件子。
28. 根據(jù)權(quán)利要求23所述的數(shù)據(jù)存儲(chǔ)裝置,其中在圖形處理單元中執(zhí)行預(yù)條件處理的 共軛梯度外推的指令包括使得該圖形處理單元執(zhí)行以下計(jì)算機(jī)處理步驟的指令: 確定預(yù)條件處理的矩陣-矢量乘積。
29. 根據(jù)權(quán)利要求28所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述用于執(zhí)行預(yù)條件處理的共軛梯度 外推的指令包括使得處理器在粗單元網(wǎng)格的儲(chǔ)層參數(shù)的公設(shè)系統(tǒng)解矩陣上形成矩陣預(yù)條 件子的指令。
30. 根據(jù)權(quán)利要求23所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述在處理器中對(duì)預(yù)條件處理的共軛 梯度外推的結(jié)果進(jìn)行轉(zhuǎn)換的指令包括使得處理器執(zhí)行以下步驟的指令: 對(duì)矩陣值執(zhí)行三對(duì)角線求解以求解儲(chǔ)層中的所述第一組相互間隔開的粗單元網(wǎng)格; 對(duì)矩陣值執(zhí)行三對(duì)角線求解以求解儲(chǔ)層中的所述第二組相互間隔開的粗單元網(wǎng)格。
31. 根據(jù)權(quán)利要求23所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述用于對(duì)原始網(wǎng)格的單元的儲(chǔ)層參 數(shù)執(zhí)行迭代線性求解的指令包括使得處理器執(zhí)行以下步驟的指令: 在所述計(jì)算機(jī)系統(tǒng)中針對(duì)所述原始網(wǎng)格的單元對(duì)公設(shè)系統(tǒng)解矩陣進(jìn)行初始化;以及 在計(jì)算機(jī)系統(tǒng)中對(duì)接收到的所述原始網(wǎng)格的單元的儲(chǔ)層參數(shù)的初始化的公設(shè)系統(tǒng)解 矩陣執(zhí)行預(yù)條件處理的共軛梯度外推。
【文檔編號(hào)】G01V99/00GK104115035SQ201380008972
【公開日】2014年10月22日 申請(qǐng)日期:2013年2月8日 優(yōu)先權(quán)日:2012年2月9日
【發(fā)明者】喬治·A·皮塔 申請(qǐng)人:沙特阿拉伯石油公司