專利名稱:自適應迭代求解器的制作方法
技術領域:
本發(fā)明一般涉及求解線性方程系統(tǒng)的迭代求解器,且更具體地涉及自適應迭代求解器,其可操作用于調整/適應(adapt)存在奇點時的性能。
背景技術:
已知有各種技術用于求解線性方程系統(tǒng)。通常會在給定真實世界系統(tǒng)的各種基于計算機的三維(“3D”)模擬或建模中碰到線性方程系統(tǒng)(并需要求解)。例如,這樣的基于計算機的3D建??捎糜趯⑦@樣的真實世界系統(tǒng)建模為機械和/或電子系統(tǒng)(如可用于汽車、飛機、輪船、潛水艇、宇宙飛船等),建模人體(如人體全部或部分建模,如重要器官等)、天氣形勢,地下碳氫化合物儲層(如氣田或油田)以及各種其他要建模的真實世界系統(tǒng)。通過這樣的建模,可以分析和/或預測被建模的系統(tǒng)的將來潛在性能。例如,呈現(xiàn)給建模系統(tǒng)的某些變化的條件對系統(tǒng)未來性能的影響可通過與基于計算機的的模型的交互以及對這種模型的分析進行評估。作為例子,多孔介質中流體流量/流動(fluid flow)的建模是石油工業(yè)的焦點。 不同的基于計算機的模型用于石油工業(yè)的不同領域,但大多包括以偏微分方程(PDE’ s)系統(tǒng)描述模型。一般地,這種建模通常要求針對給定網(wǎng)格在空間和時間上離散PDE’ s,并針對每個時間步驟執(zhí)行計算直到達到規(guī)定的時間。在每個時間步驟中,離散方程被求解。通常離散方程是非線性的,并且求解過程是迭代的。非線性迭代方法的每個步驟通常包括非線性方程系統(tǒng)的線性化(如,雅可比(Jacobian)構造)、求解該線性系統(tǒng)和屬性計算,其用于計算下一雅可比構造。圖1示出一般工作流,其通常用于地下碳氫化合物儲層中流體流量對時間的基于計算機的模擬(或建模)。內循環(huán)101是求解非線性系統(tǒng)的迭代方法。每次通過內循環(huán)101 通常包括非線性方程系統(tǒng)11的線性化(如,雅可比構造)、求解線性系統(tǒng)12和屬性計算13, 其用于計算下一雅可比構造(當循環(huán)到方框11時)。外循環(huán)102是時步(time step)循環(huán)。如圖所示,對于每個時步循環(huán),邊界條件可以在方框10中定義,并且然后在執(zhí)行完內循環(huán)101后,可以在方框14中輸出針對時步計算的時步結果(如,結果可存儲到數(shù)據(jù)存儲介質和/或提供給軟件應用程序以生成表示針對相應時間步建模的地下碳氫化合物儲層中流體流量的顯示)。如上所述,除了地下碳氫化合物儲層中流體流量建模外,真實世界系統(tǒng)的基于計算機的3D建模可以類似方式執(zhí)行,即可采用迭代方法求解線性方程系統(tǒng)(如圖1 中方框12所示)。線性方程系統(tǒng)的求解是計算量非常大的任務,因此需要有效算法。有兩類線性求解器1)直接法和幻迭代法。直接法通常依靠有效形式的(Russian消元法來分解線性系統(tǒng)矩陣。該解是通過執(zhí)行后向求解(backward solve),然后執(zhí)行前向求解(forward solve) 獲得的。分解因子的計算成本和存儲成本會很高,因為必須計算和存儲所有新的填充項。計算效率很大程度上依賴于矩陣大小和帶寬。三維模型導致矩陣非常大、稀疏,并具有相當?shù)膸?。該大小和大帶寬導致非常大量的必須計算和存儲的新填充項。因此,無論是從計算成本還是存儲成本的角度,直接法用于實際3D建模的成本通常是無法想象的。迭代法提供求解大稀疏線性系統(tǒng)的另一種方法。當采用迭代法時,解在每次迭代中被更新直到達到收斂。每次迭代僅要求以稀疏矩陣進行運算且通常與未知數(shù)的數(shù)目成比例。不幸的是,對于大的線性方程系統(tǒng),標準迭代方法收斂非常慢。可以通過使用預處理矩陣的新矩陣取代原矩陣顯著改善這種情形。例如,原問題Ax = b可以由具有相同解的修正的問題B4Ax = Β_、取代,其中B是預處理矩陣(或簡稱為“預處理器(preconditioner) ”)。 具有修正的矩陣的每次迭代以矩陣B求解問題,Bu = r。針對橢圓和拋物線問題開發(fā)高效預處理器已經取得了相當進展。主要進展是開發(fā)了計算成本低(如運算數(shù)目與未知數(shù)的數(shù)目成比例)且有效的(如具有不隨問題大小變化的少量迭代)的預處理器。這種預處理器的最佳已知示例是多重網(wǎng)格(MultiGrid)和域分解(Domain Decomposition)算法。這樣的預處理器在本文中可稱為“最優(yōu)預處理器”,在這種預處理器中收斂所需的迭代數(shù)目不隨問題(或模型)的大小增大而增加。最優(yōu)預處理器的第一個已知示例是多重網(wǎng)格,其通過作用于不同網(wǎng)格上誤差的不同成分減少誤差。最優(yōu)預處理器的第二已知示例是域分解。域分解算法通過求解部分原始域中相同或類似的問題來構造解。非迭代域分解法在域的每部分(所謂的子域,圖2所示例子的Q1 和Ω2)中求解類似問題以及公共接口 Y上的不同問題。迭代域分解法求解擴展域上的問題,擴展域由原始域和交迭帶(strip)形成,如圖3所示。全局問題的解由子域問題的解組成??梢砸约臃ɑ虺朔ǚ绞綉糜蚍纸馑惴?。加法域分解算法同時計算其解的各部分。乘法方法中的每個步驟都包括幾個子步驟。在第一子步驟,一組子域首先計算解。在下一子步驟,下一組子域使用第一組的結果計算其解,如此類推。因此,如果模型尺寸增長,則如多重網(wǎng)格和域分解的最優(yōu)預處理器已知是最優(yōu)的。 例如,假定模型以100,000個單元開始,但在隨后的某個時間使用具有上百萬個單元的更大模型。一般地,可采用諸如多重網(wǎng)格或域分解的最優(yōu)預處理器,并且對于所有的三種模型,其可以在固定數(shù)目的迭代(例如10次迭代)中收斂于解。其他已知預處理器隨著模型尺寸增長要求更多次迭代以達到收斂,而最優(yōu)預處理器將通常在固定次數(shù)的迭代中收斂, 與模型尺寸是否增長無關。不幸的是,如果PDE’ s的原始系統(tǒng)或線性系統(tǒng)具有某些特殊特征,那么即使最優(yōu)預處理器的性能也會顯著惡化。例如,如果PDE’s的系統(tǒng)的解在域的某部分極其大,或沒有導數(shù),則在求解線性系統(tǒng)時會產生困難。解的這類行為通常稱為“奇點”。當建模地下碳氫化合物儲層中的流體流量時,各種特殊影響或特征可能存在于被建模的地下區(qū)域中,如井、斷層或其他地質特征。被建模的真實世界系統(tǒng)中出現(xiàn)的這類特殊影響或特征可能產生奇點。一般地,“奇點”是指線性系統(tǒng)或物理模型中的任何特征,其削弱求解器使用的迭代方法(如預處理器)的收斂性。例如,奇點的存在可導致最優(yōu)預處理器不能在預期的迭代次數(shù)內收斂。例如,如上所述,最優(yōu)預處理器通常在固定的迭代次數(shù)內收斂,無論模型尺寸是否增長。然而,如果在模型中碰到奇點,則傳統(tǒng)最優(yōu)預處理器,如多重網(wǎng)格和域分解將不能在模型的固定迭代次數(shù)內收斂。通常,奇點是由地下碳氫化合物儲層的建模中出現(xiàn)的井或不連續(xù)系數(shù)及其特殊行為引起的,特殊行為如被建模的地下巖石屬性。井通常被建模為點或線源,并且在具有非常小尺寸的區(qū)域中(數(shù)學抽象中的零),某些有限量的流體或者注入到地下,或者由井產生 (即從地下抽取)。這導致解及其導數(shù)極其大(數(shù)學意義上的無窮大)。解的這種行為頻繁地導致預處理的迭代方法收斂性降低。許多不同井模型用于石油工業(yè)。其中大多數(shù)都不會寫為橢圓或拋物線方程。因此,上述多重網(wǎng)格和域分解對于這類線性系統(tǒng)不是很有效。此外,某些地質特征,如斷層、裂縫(fracture)或尖滅(pinch-out)也可能在預處理的迭代方法中引起問題。也就是,某些地質特征也可能引起奇點,該奇點降低 (deteriorate)預處理方法的收斂性。某些地質特征可能引起問題的一個原因是這類地質特征中的流體流動可能與周圍的多孔介質中的流動顯著不同。如上面所考慮的,已經做出了許多努力來為線性系統(tǒng)開發(fā)有效的預處理器。作為一個例子,使用不完全LU分解的預處理器不受井的存在、斷層或裂縫的影響,但對于非常大的線性系統(tǒng)也不是有效的。作為另一個例子,有人提出消除某些最優(yōu)預處理器中奇點的技術,如在域分解和多重網(wǎng)格中。例如,已經嘗試使用某些域分解法消除奇點,但收斂性取決于交迭且被降低,參看 H. Cao,H. A. Tchel印i,J. Wallis 和 H. Yardumian 的 “Parallel Scalable Unstructured CPR-Type Linear Solver for Reservoir Simulation,,, SPE Annual Conference and Exhibition,2005 年 10 月,德克薩斯的達拉斯。多重網(wǎng)格法更成功,參看 K. Stuben, T. Clees, H. Klie, B. Lu 和 M. F. Wheeler 的 Algebraic multigrid methods for the efficient solution of fully implicit formulations in reservoir simulation, SPE Reservoir Simulation Symposium, 2007 年 2 月,德克薩斯休斯頓;Τ· Clees 禾口 L. Ganzer 的 An efficient multigrid solver strategy for adaptive implicit methods in oil reservoir simulation,SPE Reservoir Simulation Symposium, 2007 年 2 月,德克薩斯休斯頓;以及 H. Klie,M. F. Wheeler, K. Stuben 和 T. Clees 的 Deflation AMG solvers for highly ill-conditioned reservoir simulation problems, SPE Reservoir Simulation Symposium, 2007 年 2 月,德克薩其jf休其jf頓。然而,上面提出的消除最優(yōu)預處理器中奇點的技術無法保持最優(yōu)預處理器的性能。例如,假定預期最優(yōu)預處理器在例如10次迭代內收斂于解,無論模型的大小(假定沒有碰到奇點);則模型中特殊特征的存在可能產生奇點,其導致最優(yōu)預處理器要實現(xiàn)收斂需要100次迭代。已經提出的用于消除奇點的傳統(tǒng)技術可改善最優(yōu)預處理器的性能,以便其可在例如25次迭代內收斂,但不能實現(xiàn)其預期的性能(在該例子中為10次迭代),如果模型中不存在引起奇點的特殊特征,則將實現(xiàn)該預期性能。進一步,上面提出的消除奇點的技術依靠預先識別奇點的存在,然后遵從消除任何這類預先識別的奇點的預定方案(regiment)。也就是說,求解器被預先配置以消除預先識別的奇點。因此,要求用戶(如工程師、分析人員等)預先識別模型中被認為可能產生奇點的特殊特征,且用戶預先配置求解器以消除預先識別的奇點。求解器本身不用于識別奇點,也不涉及判斷是否消除預先識別的奇點。而是所有這類奇點的識別和關于如何預先配置求解器以消除識別的奇點的判斷都是在求解器外進行的(如,通過工程師、分析人員或其他用戶完成)。
發(fā)明內容
本發(fā)明公開一種采用自適應迭代求解器的系統(tǒng)和方法。也就是說,提供了一種迭代求解器,其采用自適應過程提取奇點以求解線性方程系統(tǒng)。因此,根據(jù)某些實施例,提供了自適應迭代求解器,其可操作用于確定如何在存在一個或多于一個奇點的情況下調整其性能。因此,根據(jù)本發(fā)明的某些實施例,提供的自適應迭代求解器用于求解線性方程系統(tǒng),如通常用于基于計算機的3D建模。在某些實施例中,自適應迭代求解器可識別可能的奇點,并且之后分析其性能以調整對可能奇點的處理,從而提供所需的性能(即,用于實現(xiàn)至解的收斂性)。因此,并不是被預先配置為提供對某些預先識別的奇點的某種處理(如消除),在某些實施例中,迭代求解器基于其計算性能調整其對奇點的處理。例如,自適應迭代求解器的實施例可嘗試第一奇點處理(如采用第一預處理器提取某些奇點),并基于其計算性能的分析(如收斂所要求的迭代次數(shù)和/或每次迭代的計算成本等),自適應迭代求解器可調整其奇點處理(如通過將不同預處理器用于提取奇點), 從而實現(xiàn)以提供所需性能的方式求解線性方程系統(tǒng)的技術。在調整其性能過程中,在某些實施例中,自適應迭代求解器可提取比所有預先識別的奇點較少的奇點和/或可識別要提取的額外奇點。例如,自適應迭代求解器可推導出存在于被建模的真實世界系統(tǒng)中且最初被認為可能引起奇點的某些特殊影響或特征實際上不產生為改善性能而應當被提取的奇點。作為另一個例子,在其處理的過程中,自適應迭代求解器可能檢測進一步的奇點(這些奇點并不被預先識別為可能的奇點),其應被提取以改善求解器的性能。在某些實施例中,自適應迭代求解器調整迭代求解過程中使用的預處理器,從而以提供所需性能水平的方式處理奇點。例如,在某些實施例中,自適應迭代求解器構造預處理器以提取某些奇點,且其處理自適應迭代求解器的過程可修正/調整其構造的預處理器 (例如,以提取可能被發(fā)現(xiàn)的額外奇點和/或不提取某些預先識別的可能奇點)以求解線性方程系統(tǒng)。在某些實施例中,自適應迭代求解器是最優(yōu)求解器,其調整其性能,從而以維持模型中不存在奇點時遇到的迭代次數(shù)的方式處理奇點。在某些實施例中,自適應迭代求解器可選擇以導致迭代次數(shù)增加超過模型中不存在奇點時碰到的迭代次數(shù)的方式調整其性能。 然而,增加迭代次數(shù)的這類自適應可以由自適應迭代求解器智能地執(zhí)行(相對于由求解器操作的預先配置產生)。例如,自適應迭代求解器可以確定在某些實例中,迭代次數(shù)增加相對于具有每次計算成本極其高昂的較少迭代更為理想。在某些實施例中,在分析其性能時,自適應迭代求解器考慮迭代的次數(shù)和每次迭代的計算成本。例如,在某些情形中,特定預處理器可用于以顯著減少實現(xiàn)收斂所需迭代次數(shù)的方式處理奇點,但是處理每次迭代的計算成本(如要求的CPU時間量和/或要求的內存)可能很高。因此,在某些情形中,自適應求解器可得出這樣的結論,每次迭代計算成本不是很高的迭代次數(shù)的少量增加是適當?shù)慕鉀Q方案。給定奇點的相對重要性可能基于各種考慮的一個或多于一個方面,如由奇點導致的迭代求解器性能的相應退化量(如果奇點沒有被預處理器提取)。有不同的可能方式對奇點排序。一種排序方式是給不同的奇點分配不同的權重。在某些實施例中,奇點越重要, 分配的權重越大。自適應迭代求解器可至少部分基于分配給奇點的相對權重來確定其對奇點的可能的處理(例如,確定預處理器用于提取可能奇點中選擇的奇點)。在某些實施例中,分配的權重可以由自適應迭代求解器在其處理過程中更新(例如,基于在存在奇點時自適應迭代求解器對其性能的評估等)。在很多實例中,忽略某些低權重的可能奇點不會不利地影響迭代求解器的收斂,因為迭代方法考慮這些奇點。下面進一步說明可由自適應迭代求解器采用的用于識別可能奇點并基于其計算性能自適應其對這些可能奇點的處理的各種示例性技術。在某些實施例中,自適應迭代求解器采用兩步法構造預處理器。在這樣的實施例中,自適應迭代求解器首先嘗試從可用于被識別的奇點的近似構造預處理器。對于每個這種近似,自適應迭代求解器可以評估其性能,并確定預處理器的性能不可接受的那些近似(如,要么收斂太慢,每次迭代具有不理想的計算成本,等)。對于近似不可用或性能被確定為不可接受的那些奇點,自適應迭代求解器采用可替換的預處理器構造技術,如基于將解表示為奇點部分及其補元(complement) 的和的技術。本文將進一步說明可以在某些實施例中采用的示例性預處理器構造算法。前面已經相當寬泛地概括了本發(fā)明的特征和技術優(yōu)點,從而可以更好地理解本發(fā)明以下的詳細說明。將在下文描述本發(fā)明的額外特征和優(yōu)點,其形成本發(fā)明權利要求的主題。本領域技術人員應該理解公開的概念和具體實施例易于用作修改或設計執(zhí)行本發(fā)明相同目的的其他結構的基礎。本領域技術人員還應該認識到這樣的等效構造不偏離權利要求中限定的本發(fā)明的精神和范圍。根據(jù)以下說明并結合附圖可以更好地理解被認為是本發(fā)明特征的新穎特征(包括運算的組織和方法)以及本發(fā)明的進一步的目的和優(yōu)點。然而應當清楚地理解,提供的每附附圖目的在于例示和說明,而非意在限制本發(fā)明。
為了更完整地理解本發(fā)明,可參考結合附圖的以下說明,其中圖1示出通常用于地下碳氫化合物儲層中流體流量對時間的基于計算機的模擬 (或建模)的一般工作流;圖2示出可以在非交迭域分解方法中求解的子域;圖3示出可以在交迭域分解方法中求解的交迭子域;圖4示出根據(jù)本發(fā)明一個實施例實施自適應迭代求解器的基于計算機的示例性系統(tǒng)的方框圖;圖5示出根據(jù)本發(fā)明另一個實施例實施自適應迭代求解器的基于計算機的示例性系統(tǒng)的方框圖;圖6示出根據(jù)本發(fā)明另一個實施例實施自適應迭代求解器的基于計算機的示例性系統(tǒng)的方框圖;圖7示出根據(jù)本發(fā)明一個實施例構造預處理器的自適應迭代求解器的示例性操作流;圖8示出根據(jù)一個實施例構造用于奇點(一個或多個)的預處理器的自適應迭代求解器的示例性操作流,對于所述奇點近似不可用或被確定為不可接受;以及
圖9示出可實施根據(jù)本發(fā)明某些實施例的自適應迭代求解器的所有或部分的示例性計算機系統(tǒng)。
具體實施例方式參考圖4,其示出根據(jù)本發(fā)明一個實施例的示例性基于計算機的系統(tǒng)400的方框圖。如圖所示,系統(tǒng)400包括基于處理器的計算機401,如個人計算機(PC)、膝上型計算機、 服務器計算機、工作站計算機、多處理器計算機、計算機集群等。此外,自適應迭代求解器 (如軟件應用程序)402在這類計算機401上執(zhí)行。計算機401可以是能夠執(zhí)行自適應迭代求解器402的任何計算設備,如本文的進一步說明。盡管在圖4中自適應迭代求解器402 示為在計算機401上執(zhí)行,以易于圖示,但是應該認識到這類求解器402可以在本地計算機 401或經通信網(wǎng)絡與計算機401通信連接的遠程計算機(如,服務器計算機上)上駐存和/ 或執(zhí)行,通信網(wǎng)絡如局域網(wǎng)(LAN)、因特網(wǎng)或其他廣域網(wǎng)(WAN)等。而且,應該理解計算機 401可包括多個集群的或分布的計算設備(如服務器),如本領域所熟知的,自適應迭代求解器402可跨這些計算設備存儲和/或執(zhí)行。如同許多傳統(tǒng)的基于計算機的迭代求解器,自適應迭代求解器402包括存儲到計算機可讀介質的計算機可執(zhí)行軟件代碼,這些代碼可以由計算機401的處理器讀取,并且由這類處理器執(zhí)行時會引起計算機401執(zhí)行下文進一步說明的這種自適應迭代求解器402 的各種操作。自適應迭代求解器402可操作為使用迭代過程來求解線性方程系統(tǒng)。如上所述,這樣的迭代求解器通常用于3D基于計算機的建模。例如,自適應迭代求解器402可用于(圖1的)傳統(tǒng)工作流的運算方框12,以進行地下碳氫化合物儲層中流體流的3D基于計算機的建模。在圖4所示的例子中,模型406(例如,包含有關要建模的真實世界系統(tǒng)的各種信息,如關于地下碳氫化合物儲層的信息,針對該儲層,將建模流體流量隨時間的變化) 存儲在通信耦合到計算機401的數(shù)據(jù)存儲裝置405中。數(shù)據(jù)存儲裝置405可包括硬盤、光盤、磁盤和/或其他可操作用于存儲數(shù)據(jù)的計算機可讀數(shù)據(jù)存儲介質。如同用于3D基于計算機的建模的許多傳統(tǒng)迭代求解器,自適應迭代求解器402可操作用于接收模型信息406,并執(zhí)行用于求解線性方程系統(tǒng)的迭代方法,所述線性方程系統(tǒng)用于生成3D基于計算機的模型,如地下碳氫化合物儲層中流體流量隨時間變化的模型。根據(jù)本發(fā)明的實施例,自適應迭代求解器402可操作用于分析其計算性能以確定是否自適應其對模型406中可能奇點(singularity)的處理,如方框403所示。如方框404 所示,當確定應當自適應其對模型中可能奇點的處理時,自適應迭代求解器402自適應其對可能奇點的處理以提高其在求解用于3D基于計算機的建模的線性方程系統(tǒng)的性能。例如,自適應迭代求解器402可適于使用預處理器(多個)來提取可能奇點的多個不同奇點以獲得所需的計算性能。因此,無需局限于對預先識別的奇點(一個或多個)執(zhí)行某種預先配置的消除,實施例自適應迭代求解器402可操作用于自適應其奇點處理。作為一個例子,自適應迭代求解器402可以是預計在給定次數(shù)的迭代即10次迭代內收斂的最優(yōu)求解器,其中不考慮模型 406的大小。然而,由于遇到模型406中的某些奇點,自適應迭代求解器402的性能可能會衰減,導致要求10次以上迭代才能收斂,除非自適應迭代求解器402調整其對這類奇點的處理。在某些實施例中,自適應迭代求解器402調整其對奇點的處理(例如,通過構造預處理器來提取識別的可能奇點中選擇的奇點),以實現(xiàn)在要求的10次迭代內收斂的處理技術。如上所述,在某些實施例中,如果認為每次迭代的計算成本在不同情況下太昂貴,則自適應迭代求解器402可以智能選擇使用增加收斂的迭代次數(shù)(如在上述示例中超過10次) 的處理技術。下面進一步討論不同示例性方式,其中自適應迭代求解器402的實施例可評估其性能并調整其對奇點的處理。參考圖5,其示出根據(jù)本發(fā)明實施例的另一個示例性基于計算機的系統(tǒng)500的框圖。類似于圖4中的示例性系統(tǒng)400,系統(tǒng)500包括基于處理器的計算機401,其上執(zhí)行自適應迭代求解器402的實施例,在該例子中示為自適應迭代求解器402A。而且,如圖4的示例,模型406 (如包含關于要建模的真實世界系統(tǒng)的各種信息,如地下碳氫化合物儲層的信息,為此信息將建模流體流量隨時間的變化)存儲在通信連接到計算機401的數(shù)據(jù)存儲裝置405中。如上所述,自適應迭代求解器402A可操作用于接收模型信息406并執(zhí)行求解線性方程系統(tǒng)的迭代方法以生成3D基于計算機的模型,如地下碳氫化合物儲層中流體流量對時間的模型,其可用于圖1的示例性流中方框12中。在圖5的示例性實施例中,方框501中,自適應迭代求解器402A識別可能的奇點。 可以以各種方式識別模型中可能的奇點。例如,可以基于有關被建模的真實世界的已知信息預先識別(如由用戶,如工程師、分析人員等識別)某些可能的奇點,并且模型406的預先被識別的可能奇點可以分類(存儲)到存儲在數(shù)據(jù)存儲裝置405中的目錄(catalog) 505 中(如任何適當?shù)挠嬎銠C可讀數(shù)據(jù)結構,如文件、數(shù)據(jù)庫等)。因此,已知存在于被建模的真實世界系統(tǒng)中并被懷疑將產生奇點的各種特征可以在目錄505中被預先識別。例如,在地下碳氫化合物儲層中流體流量的建模中,可能引起模型中的奇點并且可以在要建模的目標區(qū)域中被預先識別的公知特征可以包括某些地質特征(如斷層、大裂縫、尖滅等等)和/或某些工程特征(如水平井、傾斜井和垂直井、連接的設施網(wǎng)絡等)的存在。此外,在某些實施例中,自適應迭代求解器402A自身可以在處理模型的過程中發(fā)現(xiàn)某些可能的奇點。例如,在處理過程中,求解器402A可以通過其對被處理的方程(如矩陣)的分析來識別可能的奇點。例如,對于給定的建模過程,自適應迭代求解器402A可以將異常矩陣項或結構(如極大項、非對角占優(yōu)矩陣、M矩陣中非對角正項等)辨認為存在于模型的相應部分的可能奇點。在某些實施例中,自適應迭代求解器402A保持列表506 (其可采用任何適當?shù)挠嬎銠C可讀數(shù)據(jù)結構的形式,如文件、數(shù)據(jù)庫等),該列表存儲在數(shù)據(jù)存儲裝置405內,其中這類列表506識別自適應迭代求解器402A要提取的當前奇點。可用于提取奇點的示例性技術在下面進一步討論。在一個實施例中,當可能的奇點在方框501中被識別時,其被加入到要提取的當前奇點的列表506中。當然,如下面進一步的討論,列表506是動態(tài)的并且可以由自適應迭代求解器402A修改,因為其確定如何最好地調整其對奇點的處理以提供所需水平的性能。如下面進一步的討論,在某些實施例中,當前奇點的列表和/或預先識別的可能奇點的目錄可包括分配給奇點的相應權重。在方框502中,自適應迭代求解器402A構造預處理器,其提取當前奇點(S卩,列表 506上被識別的奇點)。最初,列表506可包括在目錄505中預先定義的所有可能的奇點。 如下面進一步討論,在某些情形中,可以從當前列表506中去除一個或多于一個這類可能的奇點(因此,其不被抽取)和/或可以將自適應迭代求解器402A發(fā)現(xiàn)的(如通過分析正被處理的矩陣)一個或多于一個可能的奇點加入到當前列表506中。再次,可在方框502 中用于構造預處理器以提取所選奇點(即,當前列表506上的奇點)的示例性技術在下面進一步討論。在某些實施例中,要包括在當前列表506中的奇點(由預處理器提取)和要從列表506中去除的奇點的確定可至少部分基于分配給奇點的相對權重。例如,如果分配有高權重的奇點沒有被提取,則可以認為其對迭代求解器的性能有高退化作用,并且可以認為分配有低權重的奇點對迭代求解器的性能有較低退化作用;在此情形下,具有最高權重的奇點可以被選擇為包含在當前列表506上由預處理器提取。在方框503中,自適應迭代求解器402A在迭代求解線性方程系統(tǒng)中使用構造的預處理器來確定3D基于計算機的模型的相應部分??捎糜谀承嵤├⒂糜诘蠼饩€性方程系統(tǒng)的示例性預處理器在下面進一步說明。當然,本發(fā)明的實施例并不限于使用任何特定預處理器,某些實施例可以被實施為自適應任何各種不同預處理器的應用。在方框403中,自適應迭代求解器402A分析其性能以確定是否自適應模型中可能奇點的處理。雖然圖5中為了圖示的便利示為線性流,但應該理解各種操作不限于所示的順序,且其中的某些方框可并行執(zhí)行。例如,在某些實施例中,在方框503中處理構造的預處理器的同時,自適應迭代求解器402A可分析其性能以確定是否調整其對奇點的處理。當確定應當自適應處理可能的奇點時,在方框404中,自適應迭代求解器402A自適應其對可能奇點的處理。在某些情形下,這可能在方框503的迭代過程收斂于一個解之前中斷其在方框503中的處理,以在方框404中自適應其對可能奇點的處理。在某些實施例中,作為方框403中的分析的一部分,方框504中自適應迭代求解器 402A權衡利用排除所選奇點(列表506上)的預處理器獲得的迭代性能的增益和每次迭代中預處理器的計算成本。例如,在方框403中分析其性能時,自適應迭代求解器402A可同時考慮收斂的迭代次數(shù)和每次迭代的計算成本。例如,在某些情形中,可以以顯著減小實現(xiàn)收斂的迭代次數(shù)的方式使用特定預處理器來處理當前奇點(列表506中),但處理每次迭代的計算成本(如需要的CPU時間量和/或需要的內存)可能非常高。因此,在某些情形下, 在方框504中,自適應迭代求解器402A可得出這樣的結論,如果每次迭代的計算成本不是如此高昂,那么迭代次數(shù)的少量增加是適當解。參考圖6,其示出根據(jù)本發(fā)明實施例的另一個示例性基于計算機的系統(tǒng)600的方框圖。類似于圖4的示例性系統(tǒng)400和圖5的系統(tǒng)500,系統(tǒng)600包括基于處理器的計算機 401,其上執(zhí)行自適應迭代求解器402的一個實施例,在此示例中顯示為自適應迭代求解器 402B。而且,和圖5的例子一樣,模型406(如包含關于要建模的真實世界系統(tǒng)的各種信息, 如關于地下碳氫化合物儲層的信息,為獲得此信息建模流體流量隨時間的變化)、預先識別的可能奇點的目錄505和當前要提取的奇點的列表506存儲在與計算機401通信連接的數(shù)據(jù)存儲裝置405中。如上所述,自適應迭代求解器402B可操作用于接收模型信息406,并執(zhí)行求解線性方程系統(tǒng)的迭代方法以生成3D基于計算機的模型,如地下碳氫化合物儲層中流體流量對時間的模型,其可用于圖1的示例性流程的方框12中。在圖6的示例性實施例中,自適應迭代求解器402B可用于工作流,如以上圖1中所述。例如,自適應迭代求解器402B可用于時步循環(huán)601中,如圖1中的示例性外部循環(huán) 102,其中下面討論的各種操作可在時步循環(huán)601中執(zhí)行。在方框602中,檢查物理問題(例如,模型406和/或相應的真實世界系統(tǒng))和/或線性系統(tǒng)以識別當前和可能的新奇點??梢砸愿鞣N方式識別模型中可能的奇點。例如, 某些可能的奇點可基于已知的關于被建模的真實世界系統(tǒng)的信息被預先識別(如由用戶識別,如工程師、分析人員等),并且預先識別的模型406的可能奇點可分類(存儲)到存儲在數(shù)據(jù)存儲裝置405中的目錄505中(如任何適當?shù)挠嬎銠C可讀數(shù)據(jù)結構,如文件、數(shù)據(jù)庫等)。也就是說,可執(zhí)行某種預處理610以由預先識別的可能奇點初始構成目錄505。因此,已知存在于被建模的真實世界系統(tǒng)中并且可能產生奇點的各種特征可能在目錄505中被預先識別。例如,在建模地下碳氫化合物儲層的流體流量的過程中,可能產生模型中的奇點并且可以在要建模的目標區(qū)域中被預先識別的共同特征可包括某些地質特征(如斷層、 大裂縫、尖滅等)和/或某些工程特征(如水平井、傾斜井和垂直井、連接的設施網(wǎng)絡等) 的存在。在此示例性實施例中,在時步循環(huán)601的每個時步中,檢查線性系統(tǒng)以獲得當前奇點和由于物理系統(tǒng)變化導致的可能新奇點,物理系統(tǒng)變化如井被打開和關閉、井從主要生產到排放水或氣的切換和/或發(fā)生在正被建模的地下碳氫化合物儲層內的其他變化。一開始,檢查所有分類的可能奇點。也就是,自適應迭代求解器可評估目錄505中分類的每個可能奇點以確定其是否為真正的奇點(即,它們的存在是否真正退化(degrade)求解器 402B采用的迭代方法的收斂性),并且那些被確定為一定程度上退化迭代方法性能的真正奇點被加入到要去除的當前奇點的列表506。此外,在方框603中,自適應迭代求解器402B自身可基于對針對模型406處理的矩陣的檢查發(fā)現(xiàn)某些可能奇點。例如,對于給定的建模過程,異常矩陣項或結構(如極大項、非對角占優(yōu)的矩陣、M矩陣中非對角正項等)可以被自適應迭代求解器402B辨認為模型相應部分中存在的可能奇點。在某些實施例中,自適應迭代求解器402B保持列表506 (其形式可以是任何適當?shù)挠嬎銠C可讀數(shù)據(jù)結構,如文件、數(shù)據(jù)庫等),其存儲在數(shù)據(jù)存儲裝置405中,其中這種列表 506識別自適應迭代求解器402B要提取的當前奇點。最初,列表506可包括目錄505中預先識別并在方框603中確定的所有可能的奇點。然而,要提取的當前奇點的列表506是動態(tài)的,且因此可通過自適應迭代求解器402B在處理模型406的過程中進行調整。在方框604中,自適應迭代求解器402B構造提取當前奇點的預處理器(即在列表 506上識別的那些奇點)。如下面進一步的討論,在某些情形中,可以從當前列表506中去除一個或多于一個這種可能的奇點(以便它們不能被提取),并且/或者可以將一個或多于一個自適應迭代求解器402B發(fā)現(xiàn)的可能奇點(如通過分析被處理的矩陣)加入到當前列表506中。再次,下面進一步詳細討論可在方框604中用于構造提取所選奇點(即,當前列表506上的奇點)的處理器的示例性技術。在方框605中,自適應迭代求解器402B在迭代求解線性方程系統(tǒng)中使用構造的預處理器以確定3D基于計算機的模型的相應部分。下面進一步說明可用于某些實施例的示例性預處理器,以及其在迭代求解線性方程系統(tǒng)中的使用。當然,本發(fā)明實施例并不限于使用任何特定預處理器,某些實施例可實施為自適應于各種不同預處理器中任何預處理器的應用。在方框606中,自適應迭代求解器402B分析預處理器的性能,且如果需要,調整預處理器從而改善求解器的計算性能。在方框607中,可更新當前奇點的列表506以反映要提取奇點中的任何變化,如方框606中確定的那樣。雖然圖6中為了便于圖示而示為線性流,但是應該認識到各種操作不限于顯示的順序,并且某些方框可并行執(zhí)行。例如,在某些實施例中,自適應迭代求解器402B在方框605中處理構造的預處理器的同時,可分析其性能(方框606)從而確定是否調整其對奇點的處理。當確定應自適應可能奇點的處理時,自適應迭代求解器402B通過更新要提取的當前奇點的列表506(在方框607中)自適應可能奇點的處理。在某些情形中,可以在方框605的迭代過程收斂到解之前中斷方框605中的處理,以在方框607中自適應要提取的當前奇點的列表506,其中操作可返回到方框602以最終構造(在方框604中)另一個預處理器以提取修訂的奇點的當前列表506。當在方框608中確定對于被處理的模型的當前時間間隔,自適應迭代求解器402B 已收斂到解時,在方框609中,操作可進入要處理的下一時間間隔,如圖1的示例性工作流的外部循環(huán)102。并不是所有奇點總是以壞的方式影響線性系統(tǒng)。例如,如果建模的地下碳氫化合物儲層的井關閉(shut in),則對線性系統(tǒng)沒有影響。在該示例性實施例中,自適應迭代求解器402B可通過針對小塊模型并分析相應線性系統(tǒng)及其解來研究每個可能的奇點(物理限定的)。如果線性系統(tǒng)(如大條件數(shù))或者是其解有某種異常行為,則奇點被選擇以供提取(即,被加入到當前奇點的列表506中)。否則,可能的奇點不包括在當前時步的列表 506中(即,可從其中除去)。通常,僅檢查模型406中是否有變化是足夠的。例如,如果井正在生產,并且曾經常常引起線性系統(tǒng)的問題,則假定其將持續(xù)該行為。在一個實施例中,性能分析(如圖4的方框403或圖6的方框606)檢查迭代求解器的行為以嘗試改善自適應迭代求解器的迭代性能和/或CPU/Wall時鐘性能??赏ㄟ^加入忽略的奇點、發(fā)現(xiàn)新奇點和/或改善當前奇點的處理來改進迭代性能。在某些實施例中, 可以通過調整預處理器的操作改善CPU/Wall時鐘性能。例如,如果迭代性能是好的,但預處理器計算成本高昂,則在某些實施例中,自適應迭代求解器可選擇忽略某些奇點和/或放寬(relax)對某些奇點的處理。理想地,改善迭代性能應改善CPU/Wall時鐘性能,但不總是這樣。使預處理器非常昂貴,即“很好”,會導致少但非常昂貴的迭代。使用非常便宜但不高效的預處理器通常無法提供好的解。某些實施例用來實現(xiàn)折衷的方式是按重要性排序當前奇點并保持最重要的,即具有最高排序的奇點。一種可能的方式是為不同奇點提供權重,且權重越高,則排序越高。權重在模擬運行中更新,并且變化反應性能。忽略某些低級奇點通常不會不利地影響收斂,因為迭代方法會考慮這些奇點。有幾種方法可用于分配權重給不同奇點。根據(jù)某些實施例可以采用的一種方法是基于奇點的類型分配靜態(tài)權重。例如,垂直井可分配以權重1,傾斜井可分配以權重2,水平井可分配以權重3,等等。這些靜態(tài)權重可基于之前運行(以某些靜態(tài)工具處理)的結果分析和/或可基于某些理論假設的應用。根據(jù)某些實施例,可以使用的更復雜的方法是基于迭代求解器性能動態(tài)調整權重。例如,該方法在第一次運行中可以使用固定權重作為開始 (如第一次3D建模采用迭代求解器),且在下一次運行時,可改變某些權重并且分析迭代求解器的相應性能。例如,該方法可以按如下權重分配求解線性方程系統(tǒng)一次,第一水平井權重為3,第二水平井權重為3。然后,可以以分配給第一水平井權重2和分配給第二水平井權重4求解線性方程系統(tǒng)。可比較第一和第二迭代方法的性能,并且該方法可基于確定的性能比較繼續(xù)調整權重。例如,可以證明第一井不重要,且其可從當前奇點列表中去除。例如,通過采用僅考慮被分配最高權重的固定數(shù)目的奇點的方法,一旦該方法有效地降低其相對權重,則可從當前奇點列表中去除第一井。可使用各種不同算法提取奇點。不同的奇點可能要求不同的方法進行提取。可以使用的一個示例性算法考慮物理限定(bound)的奇點,如被物理限定的地下碳氫化合物儲層中流體流量模型的部分中碰到的奇點。在一個實施例中,假定給定奇點中的流體行為和給定奇點周圍的流體行為可以較為簡單的模型近似,并且該較為簡單的模型不會不利地影響線性系統(tǒng)。例如,復雜的井模型通常不利地影響預處理器的質量。簡單的井模型表現(xiàn)得更好。如果復雜的井模型可以簡單的井模型近似,則預期最終的預處理器會更好。有時,近似不能解決該問題,但“壞的”部分的維度顯著減小。在一個實施例中,應用第二步,其涉及特定的小的排序更新過程。類似方法可用于地質奇點,如在被建模的地下碳氫化合物儲層中碰到的裂縫。根據(jù)一個實施例,對于識別的物理限定的奇點,兩個預處理器被考慮。最初,對于每個物理限定的奇點,選擇子域,其包含該奇點及其周圍的小的帶。以下討論在某些實施例中可用于構造用于這種奇點的預處理器的示例性的兩步過程。也就是,在某些實施例中,下面說明的示例性兩步方法用于構造預處理器(如圖6的方框604)。首先,以適當?shù)慕迫〈總€奇點(如,其可作為圖6中方框604的部分執(zhí)行)。 然后,構造全局預處理器(如其可作為圖6中方框604的部分執(zhí)行),其中全局預處理器包括在奇點之外的原始問題和在奇點內確定的近似。在某些實施例中,可以通過全局預處理器和子域應用加法和乘法khwarz??墒褂弥丿B或不重疊版。然后,評估給定奇點的近似的質量(如其可作為圖6中方框606的部分執(zhí)行)。例如,近似的質量可以使用包含該近似的本地塊并檢查線性系統(tǒng)進行評估,或者通過觀察預處理器的收斂行為進行評估。也就是說,給定奇點可以被近似,且可對近似執(zhí)行線性解。然后確定在使用近似時,收斂是否可接受。如果確定收斂不可接受,則以下討論的替換的預處理器構造技術用于下一時步(如,在圖6的示例性時步循環(huán)中的下一時間間隔609之后)。在該示例性實施例的可替換的預處理器構造技術中,當沒有可用的好的近似或近似仍然不利地影響線性系統(tǒng)時,使用另一個預處理器。在一個實施例中,解被計算為兩項的和。第一項是對“奇點空間”的正交投影,第二項是其補元。可針對“好的部分”使用任何預處理器,其包括前面步驟中的預處理器。給定奇點可視為包含在奇點空間中,其可包括可很好近似的某些特征/特性,并且也可以包括無法達到好的近似的某些其他特征/特性。根據(jù)某些實施例,奇點空間可分成能很好近似的部分(其可稱為“好的”部分)和不能很好近似的部分(其可稱為“壞的” 部分)。因此,在某些實施例中,自適應迭代求解器可操作用于從奇點空間提取“壞的”部分,從而得到可很好近似的好的剩余部分。給定奇點空間“X”可視為具有對應的維度(對應于描述奇點的子矩陣的大小), 如維度“dim(X)”。求解器可首先嘗試以具有減小維度的較為簡單的模型近似/近似 (approximate)奇點,如在維度為“dim⑴”的空間“Y”中(其中dim(Y) < dim(X))0空間 “Y”是奇點空間“X”的一部分。可以保留沒有良好近似的奇點的一部分。該部分在具有維度“dim(Z) ”的空間“Z”中,其中“dim(Z) = dim(X)-dim(Y) ”,即,在從奇點空間取出“Y”后留下的部分。在某些實施例中,奇點空間的空間“Y”中近似的部分被當作奇點空間的“好的”部分,可以用適當?shù)念A處理器對其進行處理,而奇點空間剩余的“Z”部分被稱為奇點空間的“壞的”部分,可以以不同方式對其進行處理。因此,根據(jù)某些實施例,對于無法獲得近似(如方框701中所確定的)或近似的質量被確定為不可接受(方框703中)的任何奇點, 自適應迭代求解器402嘗試提取“壞的”部分。因此,當對于給定奇點無法獲得適當近似時或者這種近似的質量不可接受時,在某些實施例中,求解器提取奇點的“壞的”部分,從而剩余的好的部分可通過可接受的近似來建模。作為例子,假定原始問題維度為1,000, 000,且存在維度100的奇點。進一步假定求解器嘗試以具有維度如90的較為簡單的模型近似該奇點。如果第一預處理器的性能被確定為可接受,則使用該預處理器。否則,如果第一預處理器的性能被確定為不可接受的, 則采用本文進一步討論的第二步。因此,借助奇點近似,100個奇點模式中的一些奇點模式被抑制,例如90個奇點模式可能被近似抑制。10個剩余奇點模式稱為仍需考慮的“壞的” 模式(或“壞的”部分)。不幸的是,我們不能明確知道哪些是“壞的”模式。在該例子中, “壞的”或奇點部分的維度為10,且“好的”部分的維度為1,000,000-10。進一步,在該例子中,去除“壞的”部分的迭代次數(shù)將與10成比例,如0(10)。一般地,我們僅使用第二算法, 但計算量取決于“壞的”模式的數(shù)目,并且首先近似并減少未解析模式的數(shù)目在計算上更有效。因此,可通過辨認被識別奇點空間的“好的”和“壞的”部分和適當?shù)靥幚砻總€好的和壞的部分來實現(xiàn)性能的改善,如下面進一步討論。因此根據(jù)某些實施例,響應于識別奇點,自適應迭代求解器可操作用于確定是否有奇點的可接受的近似可用。如果有好的近似可用,則用于近似的相應預處理器用于迭代求解奇點。當確定沒有可接受的近似可用(即,要么沒有可用的好的近似或近似被確定為還不利地影響線性系統(tǒng)),則迭代求解器提取奇點的壞的部分從而得到有好的近似可用的奇點的剩余的好的部分。然后,用于奇點的好的部分的適當預處理器用于迭代地求解奇點好的部分。在某些實施例中,可以以不同方式處理提取的奇點壞的部分。對奇點壞的部分的處理在計算上的效率比好的部分的處理在計算過上的效率低,但由于從奇點提取“壞的” 部分,使計算總體上得到改善,因而使得“好的”部分能夠以計算有效的方式被迭代求解。現(xiàn)在,考慮難于物理分離的奇點群,但是它們可以某些其他方式分離。例如,如果預處理的系統(tǒng)僅有幾個分離的特征值,則可使用緊縮(deflation)。關于緊縮的更多信息, 請參見R. Nabben禾口 C. Vuik 的"A Comparison of deflation and Coarse grid correction applied to porous media flows", SIAM H. Numer. Anal. , v. 42,1631-1647 ;以及 J.Frank 禾口 C. Vuik 的"On the construction of deflation-based preconditioners", SIAM J. ki.Comput.,v. 23,442-462。一般地,更難于檢查這類奇點的存在。在某些實施例中,其存在是從預處理器的迭代行為推導來的。因此,參考圖7進一步說明根據(jù)自適應迭代求解器402的一個實施例構造預處理器的示例性工作流(如,圖6的方框604中)。在方框71中,自適應迭代求解器402將當前奇點分為兩組a)物理限定的,和b)特征值限定的。在一個實施例中,特征值限定的奇點更為通用并且包括物理限定的奇點。物理限定的奇點的算法通常更易于實施,且通常更為有效。如果僅幾個特征值沒有被抑制,則緊縮算法可能是有幫助的,但其更難于實施且計算成本高。會導致問題的物理特征(非受抑制的特征值)的示例是被建模的地下碳氫化合物儲層的多孔介質中具有完全不同屬性的層。這類問題可由建模的用戶識別,或者對于非常復雜的模型,可由模式識別算法識別。對于這類簡化情形,存在有效的緊縮算法。在方框72,自適應迭代求解器402嘗試針對物理限定的奇點構造預處理器。對于物理限定的奇點,在方框701中,自適應迭代求解器402為每個物理限定的奇點確定奇點的近似是否可用。對于近似可用的奇點,在方框702中這些近似(多個)被用于近似奇點。 在方框703中,自適應迭代求解器402評估近似的質量(如,確定收斂是否可接受,如上所述)。對于在方框703中,其質量被確定為可接受的每個奇點,這類奇點的近似被用于構造預處理器,如方框704所示。對于近似不可用(如方框701中確定的那樣)或對于近似質量被確定為不可接受(方框703中)的任何奇點,在方框73中,自適應迭代求解器402嘗試提取“壞的”部分 (如使用下文進一步討論的第二算法)。傳統(tǒng)上,迭代求解器并不使用構造預處理器的自適應方法,如圖7中的示例性方法。而是,傳統(tǒng)迭代求解器可預先配置從而利用奇點近似或使用緊縮來構造預處理器,但傳統(tǒng)迭代求解器一直不是自適應的從而不可能使用這兩種構造技術中的一種或兩種,如圖7 的示例性方法所使用的。針對傳統(tǒng)迭代求解器實施的預先配置的方法通常無法提供所需的計算性能,且如這里所述的自適應迭代求解器的某些實施例可自適應其方法以構造預處理器(如在圖7的上述示例中所討論的),以便改善計算性能。根據(jù)一個實施例,給定矩陣A的迭代方法的收斂是通過特征值的分布確定的(至少對于對稱矩陣)。假定特征值在數(shù)字a = 1和b = 1,000, 000之間。則迭代求解器中的迭代次數(shù)應與(b/a)的平方根 1000成比例。為了改善收斂,在某些實施例中,預處理器是作為B-IA引入的,其可減少特征值的數(shù)目。例如,繼續(xù)上面的例子,B4A的特征值可在c =1和d = 100之間。然后,處理預處理器的迭代求解器的迭代次數(shù)與(d/c)的平方根成比例。一般地,MultiGrid和域分解算法“移動”特征值到譜的左手側并改善迭代求解器的收斂。然而,如果存在奇點,則其特征值不動(即,不會移動到方程的左手側)。根據(jù)本發(fā)明的某些實施例,可以使用算法“移動”未改動的特征值。本文提及的緊縮算法也可在某些實例中用于“移動”特征值到左側,但它們需要具有特征向量的近似,這并不常用。為此,某些實施例中,緊縮算法通常視為處在最后的解決方案。在某些很好研究的情形中,如具有顯著不同特性的多孔介質層,這可以有效地實現(xiàn)?,F(xiàn)在簡單地討論可根據(jù)某些實施例構造的示例性預處理器。也就是,下面進一步討論可根據(jù)某些實施例用于構造預處理器的示例性算法。當然,本發(fā)明的實施例不限于使用下述示例性預處理器構造算法。首先討論可用于基于一個或多于一個奇點的近似構造預處理器的算法。因此,該示例性算法可在圖7的方框72中采用??紤]矩陣
A10
A =為2為3,其中塊^3對應于復數(shù)個奇點,^2是這些奇點周圍的帶,_ 0為2
而A11為剩余部分。假定我們可以另一個矩陣為3近似A33。則交迭相加(overlapping additive)形式的第一預處理器為
權利要求
1.一種方法,其包括通過自適應迭代求解器識別存在于線性方程系統(tǒng)中的至少一個奇點; 通過所述自適應迭代求解器構造第一預處理器以用于求解所述線性方程系統(tǒng); 通過所述自適應迭代求解器確定所述第一預處理器的計算性能是否可以接受;以及當確定所述第一預處理器的計算性能不可接受時,通過所述自適應迭代求解器構造可替代的預處理器來求解所述線性方程系統(tǒng)。
2.根據(jù)權利要求1所述的方法,其中所述可替代的預處理器抑制被識別的至少一個奇點的被確定的壞的部分,從而導致被識別的至少一個奇點的剩余的好的部分的計算性能可以接受。
3.根據(jù)權利要求2所述的方法,其中所述可替代的預處理器包括所述第一預處理器, 其用于迭代求解所述被識別的至少一個奇點的剩余的好的部分。
4.根據(jù)權利要求1所述的方法,其中所述識別包括識別多個奇點,且其中所述第一預處理器用于提取所述多個奇點中的一些,用于求解所述線性方程系統(tǒng),且其中所述可替代的預處理器用于提取所述多個奇點的剩余部分,用于求解所述線性方程系統(tǒng)。
5.根據(jù)權利要求4所述的方法,進一步包括采用緊縮算法提取所述多個奇點的進一步剩余部分以求解所述線性方程系統(tǒng)。
6.根據(jù)權利要求4所述的方法,進一步包括由所述自適應迭代求解器確定近似對于所述多個奇點中的至少某些奇點是可接受地有效的;并且其中構造所述第一預處理器包括根據(jù)所述近似構造所述第一預處理器。
7.根據(jù)權利要求6所述的方法,進一步包括由所述自適應迭代求解器確定近似對于所述多個奇點中的至少第二部分是不可接受地有效的。
8.根據(jù)權利要求6所述的方法,其中構造所述可替代的預處理器包括使用緊縮構造所述可替代的預處理器以用于提取所述多個奇點的所述至少第二部分。
9.一種方法,其包括通過自適應迭代求解器識別線性方程系統(tǒng)中存在的奇點; 通過所述自適應迭代求解器確定是否可接受近似可用于被識別的奇點; 當確定沒有可接受的近似可用于所述被識別的奇點時,通過所述自適應迭代求解器提取所述被識別的奇點的壞的部分從而產生所述奇點的剩余好的部分,對于所述剩余好的部分,可接受的近似是可用的;以及通過自適應迭代求解器迭代求解所述奇點的剩余的好的部分的近似。
10.根據(jù)權利要求9所述的方法,其中所述確定是否可接受近似可用于被識別的奇點包括通過所述自適應迭代求解器構造用于求解所述線性方程系統(tǒng)的第一預處理器;以及通過所述自適應迭代求解器確定所述第一預處理器的計算性能是否可接受。
11.根據(jù)權利要求10所述的方法,進一步包括當確定所述第一預處理器的計算性能不可接受時,通過所述自適應迭代求解器構造可替代的預處理器用于求解所述奇點的所述剩余的好的部分。
12.根據(jù)權利要求11所述的方法,其中所述可替代的預處理器包括所述第一預處理器。
13.根據(jù)權利要求9所述的方法,進一步包-·-括通過所述自適應迭代求解器求解所述被識別的奇點的被提取的壞的部分。
14.存儲在計算機可讀介質中的計算機可執(zhí)行軟件代碼,當其由計算機執(zhí)行時使得所述計算機執(zhí)行一種方法,所述方法包括識別存在于線性方程系統(tǒng)中的至少一個奇點; 確定所述至少一個奇點的近似;基于所確定的近似構造第一預處理器以由迭代求解器用于求解所述線性方程系統(tǒng); 確定所述預處理器的計算性能是否可接受;當確定所述預處理器的計算性能不可接受時,構造可替代的預處理器以由所述迭代求解器用于求解所述線性方程系統(tǒng)。
15.根據(jù)權利要求14所述的計算機可執(zhí)行軟件代碼,其中所述可替代的預處理器不基于所述確定的近似。
16.根據(jù)權利要求14所述的計算機可執(zhí)行軟件代碼,其中所述可替代的預處理器是使用緊縮構造的。
17.根據(jù)權利要求14所述的計算機可執(zhí)行軟件代碼,其中確定所述至少一個奇點的近似包括確定近似是否可用于所述至少一個奇點;以及其中當確定所述近似不可用于所述至少一個奇點時,則構造所述可替代的預處理器以由所述迭代求解器用于求解所述線性方程系統(tǒng)。
18.根據(jù)權利要求14所述的計算機可執(zhí)行軟件代碼,其中所述方法進一步包括 其中所述識別包括識別多個奇點;以及其中所述確定近似包括確定所述多個奇點的至少第一個奇點的近似。
19.根據(jù)權利要求18所述的計算機可執(zhí)行軟件代碼,其中所述方法進一步包括由所述迭代求解器使用所述第一預處理器提取所述多個奇點中所述至少第一個奇點, 以求解所述線性方程系統(tǒng)。
20.根據(jù)權利要求19所述的計算機可執(zhí)行軟件代碼,其中所述方法進一步包括 由所述迭代求解器使用所述可替代的預處理器提取所述多個奇點中的至少第二個奇點,以求解所述線性方程系統(tǒng)。
21.根據(jù)權利要求20所述的計算機可執(zhí)行軟件代碼,其中所述方法進一步包括 確定近似不可用于所述多個奇點中的所述至少第二個奇點。
22.根據(jù)權利要求14所述的計算機可執(zhí)行軟件代碼,其中所述方法進一步包括 其中所述識別包括識別存在于所述線性方程系統(tǒng)中的多個奇點;為所述多個奇點的每個確定相應的近似是否是可接受有效的;以及對于所述多個奇點中相應的近似是可接受有效的每個奇點,使用所述相應的近似構造所述第一預處理器以便由所述迭代求解器用于提其取相應的近似可用的所述奇點。
23.根據(jù)權利要求22所述的計算機可執(zhí)行軟件代碼,其中所述方法進一步包括 構造所述可替代的預處理器以便由所述迭代求解器用于提取所述多個奇點中相應的近似被確定為不可用的每個奇點。
24.一種方法,其包括由自適應迭代求解器識別存在于線性方程系統(tǒng)中的多個奇點; 由所述自適應迭代求解器構造第一預處理器,用于提取所述奇點的第一部分以求解所述線性方程系統(tǒng),其中所述第一預處理器基于所述多個奇點的至少一個的近似;由所述自適應迭代求解器構造第二預處理器,用于提取所述奇點的第二部分以求解所述線性方程系統(tǒng),其中所述第二預處理器不是基于所述多個奇點的至少一個奇點的近似; 以及由所述自適應迭代求解器處理所述第一預處理器和所述第二預處理器以求解所述線性方程系統(tǒng)。
25.根據(jù)權利要求M所述的方法,其中所述第二預處理器是通過將解分解為壞的部分和剩余好的部分而構造的。
26.根據(jù)權利要求25所述的方法,進一步包括 使用緊縮算法求解所述線性方程系統(tǒng)的至少一部分。
27.一種方法,其包括通過用于求解線性方程系統(tǒng)的迭代求解器處理接收的模型; 通過所述迭代求解器識別至少一個奇點;基于觀察的所述迭代求解器在求解所述線性方程系統(tǒng)中的性能,通過所述迭代求解器確定是否排除所識別的至少一個奇點的一個或多于一個;以及當確定要排除所述識別的至少一個奇點的一個或多于一個時,所述迭代求解器自適應以排除所確定的所述識別的至少一個奇點的一個或多于一個。
28.根據(jù)權利要求27所述的方法,其中所述自適應包括構造預處理器以排除所述確定的所述識別的至少一個奇點的一個或多于一個。
29.根據(jù)權利要求27所述的方法,其中所述確定包括基于所觀察的性能,所述迭代求解器自動確定是否排除所述識別的至少一個奇點的所述一個或多于一個。
30.一種方法,其包括由用于求解線性方程系統(tǒng)的迭代求解器處理接收的模型,所述迭代求解器具有收斂于解所要求的預定的預期數(shù)目的迭代;所述迭代求解器識別至少一個奇點;以及所述迭代求解器確定所識別的至少一個奇點是否導致所述收斂要求的迭代數(shù)目增加超過預定的預期迭代數(shù)目。
31.根據(jù)權利要求30所述的方法,進一步包括當確定所述至少一個奇點導致所述收斂要求的迭代數(shù)目超過預定的預期迭代數(shù)目時, 所述迭代求解器自適應排除所述識別的至少一個奇點。
32.根據(jù)權利要求31所述的方法,進一步包括 加權所述識別的至少一個奇點;以及至少部分基于所述加權確定是否自適應以排除所識別的至少一個奇點。
33.根據(jù)權利要求30所述的方法,進一步包括所述迭代求解器確定是否自適應處理所述線性方程系統(tǒng)以排除所述識別的至少一個奇點O
34.根據(jù)權利要求33所述的方法,進一步包括確定與排除所述識別的至少一個奇點關聯(lián)的計算成本;以及其中所述確定是否自適應包括平衡所確定的計算成本和確定的所述收斂要求的迭代次數(shù)的增加。
35.根據(jù)權利要求30所述的方法,進一步包括至少部分基于所述迭代求解器在收斂于解的計算性能,所述迭代求解器自動自適應其處理以選擇性排除所述識別的至少一個奇點的一個或多于一個。
36.一種方法,其包括由自適應迭代求解器識別存在于線性方程系統(tǒng)中的可能奇點,所述自適應迭代求解器可操作用于采用迭代方法求解所述線性方程系統(tǒng);由所述自適應迭代求解器分析求解所述線性方程系統(tǒng)的計算性能;以及基于其計算性能,所述自適應迭代求解器自適應處理提供所需性能的所述可能奇點。
37.根據(jù)權利要求36所述的方法,其中所述自適應處理所述可能奇點包括 構造預處理器用于排除所述可能奇點中選擇的奇點。
全文摘要
本發(fā)明提供了一種自適應迭代求解器,其采用自適應處理提取奇點以求解線性方程系統(tǒng)。自適應迭代求解器動態(tài)確定如何在線性方程系統(tǒng)中存在一個或多于一個奇點時調整其性能。在某些實施例中,自適應迭代求解器可識別可能的奇點,且然后分析其性能以調整對可能奇點的處理,以提供理想的性能(即,為實現(xiàn)對解的收斂)。因此,不是被預先配置以提供對某些被識別的奇點的某種處理(如消除),在某些實施例中,迭起求解器基于其計算性能調整其對奇點的處理。
文檔編號G06F7/60GK102165413SQ200980138527
公開日2011年8月24日 申請日期2009年7月17日 優(yōu)先權日2008年9月30日
發(fā)明者A·馬特索金, I·米謝夫, S·涅波姆亞什 申請人:??松梨谏嫌窝芯抗?br>