專利名稱::用來模擬物理系統的特性的方法
技術領域:
:本發明一般涉及模擬物理系統的至少一個特性。在一個方面,本發明涉及一種用來模擬諸如含油氣儲層之類的物理系統以預測在儲層中流體性質和特性的方法。數值模擬作為一種通過使用計算機模擬物理系統的方法廣泛用在工業領域。在大多數情況下,希望把發生在物理系統中的運輸過程模型化。運輸的東西典型的是質量、能量、動量、或其某種組合。通過使用數值模擬,有可能復制和觀察物理現象及確定設計參數,而不用使用模型和設備的實際試驗。因此能期望,大大地減小設計時間和成本。有較大興趣的一種模擬類型是一個從真實含油氣儲層的模型的性能推出該儲層的特性的過程。儲層模擬的目的在于足夠好地理解發生在儲層中的復雜化學、物理及流體流動過程,以預測儲層的未來特性使油氣采收率最大。儲層模擬常常指的是在儲層內流動的流體動力學,但在較大意義上,儲層模擬也能指包括儲層、注入井、采油井、表面出油管線、及表面處理設施的整個石油系統。數值模擬的原理在于通過計算機數值解描述一種物理現象的方程。這樣的方程一般是普通的微分方程和偏微分方程。作為一種用來數值解這樣的方程的方法,已知有有限元法、有限差分法、有限體積法等。在這些方法的每一種中,把要模型化的物理系統劃分成較小單元(其一組稱作柵格或網格),并且把在每個單元中連續變化的狀態變量由用于每個單元的值的組表示。一個原始微分方程由一組表示在每個較小單位或單元內的質量、能量和/或動量守恒及在單元之間的質量、能量、和/或動量的運動的基本原理的方程替換。這些方程能共有幾百萬個。對于每個單元由有限數量個值對連續變化值的這種替換稱作“離散化”。為了分析按時間變化的現象,必須計算在稱作時間步長的分立時間間隔處的物理量,而不顧作為時間函數的連續變化條件。運輸過程的時間依賴模型化按時間步長順序行進。對于大多數運輸過程,基本方程是非線性的,因為在一個單元中質量、能量或動量的量和在單元之間質量、能量及動量的運動一般與定義單元物理狀態的變量具有非線性關系。在模擬油氣儲層時,例如模型化儲層的方程是非線性偏微分方程,這些方程描述整個儲層所有流體的不穩定狀態流動,并且在整個儲層中與流體隨時間的壓力和飽和變化有關。為了模擬多種物理系統,希望使用隱函數法,其中在單元之間運輸實體的運動取決于在時間步長末端處的解。隱函數法要求在時間步長末端處的未知量全部一起確定。結果,如果方程是非線性的,則一般使用迭代計算未知量。迭代涉及從對未知量的某種初始推測開始并且應用某種重復計算以改進推測,直到在足夠數量的迭代之后,使方程滿足在某個可接收容許值內。由于每次迭代需要計算時間,所以鼓勵使用盡可能減少計算時間的迭代法。已經提出了用來解非線性方程組的多種迭代法。一個例子是熟知的牛頓-萊甫森法。在牛頓-萊甫森迭代中使用的近似導致使在每個單元處的未知量與在其附近處的未知量相關的線性方程組。這些方程組組成一個全局矩陣方程,然后解該全局矩陣方程以得到解的下次估計。如果物理系統的表示是線性的,則得到一個類似矩陣公式。在任一種情況下,矩陣方程一般十分大,并且最好迭代地解。用來解這種矩陣方程的迭代法是一個稱作點高斯-塞得爾法的過程。在點高斯-塞得爾法中,一個單元一個單元地計算一個新的解估計。在每個單元處,通過對于該單元解質量、能量、及動量平衡方程得到新的估計,同時把在鄰近單元處的未知對應值保持固定在其最新估計處。在該過程中,相鄰單元是一個當前單元處于與其連通的單元。一個單元的質量、能量、或動量平衡方程將包含乘以在其鄰近處的未知量的項。當對于系統中的所有方程重復這種計算時,創建一個新答案陣列。然后檢查該陣列,以確定諸值是否滿足單元方程。為了這樣作,便利地是對于每個方程定義一個余數(r)。如果新值滿足公式,那么所有余數將是零或非常小。如果不是,借助于基于以前迭代的未知量的更新值重復該過程。重復該過程,直到所有余數可接收地接近零。這種類型的迭代法稱作“點”迭代法,因為一次一個點或一個單元地進行該方法。如果點高斯-塞得爾法由點逐次超松馳法或PSOR替換,則能得到較快收斂。在PSOR中,在每次迭代處估計解的變化乘以一個超松馳參數ω,該超松馳參數ω必須具有一個在一與二之間的值。PSOR在模擬中的成功應用一般限于較簡單的模型。因為PSOR法是其中一次僅計算一個單元的未知值的“顯式”方法,所以PSOR法易于減慢收斂。這種缺陷已經導致在模擬方法包括更隱含的努力。用來這樣作的一種方法稱作線逐次超松馳法(LSOR)。LSOR通過在一個方向上保留隱含對PSOR改進。其中,在把相鄰列或行的影響保持在其最新估計的同時,同時解對于列或行的質量、能量、或動量平衡方程。LSOR應用的例子能在(1)Mattax,C.C.和Dalton,R.L.的ReservoirSimulation(儲層模擬),MonographVolume13,SocietyofPetroleumEngineers(石油工程師協會)(1990年)和(2)Aziz,K.和Settari,A.的PetroleumReservoirSimulation(石油儲層模擬),AppliedSciencePublishersLtd,London,1979年中找到。在過去使用的LSOR法主要應用于其中以具有良好定義的行或列正規、構造柵格組織單元的模型。借助于以缺乏這種正規結構的柵格布置的至少一些單元已經提出了多種模型。相信本發明的實施表示LSOR原理對未構造柵格的最初應用。對于未構造柵格與結構柵格相比由解技術的高成本已經減慢了未構造柵的工業使用。對于使用所有類型的單元配置能用來分析物理系統的表示的模擬方法的需要是存在的。本發明的方法用來模擬一種物理系統的至少一個特征,而不顧物理系統是否已經離散成出現在構造或未構造柵格或兩者組合中的單元。該方法的第一步驟是,把物理系統離散成彼此相鄰布置的多個體積單元,以便在每對相鄰單元之間有一條邊界。對于每個單元,構造線性方程,這些線性方程把單元的狀態變量與其相鄰單元的狀態變量相聯系。以后的步驟是把一個可運輸性值與每條邊界相聯系,并且然后對應于可運輸性值的下降順序來排序邊界。邊界排序然后用來拓撲地構造一維單元串。對于每個串通過組合與每串的單元有關的線性方程,產生一個矩陣方程。然后通過一次一串地解用于每串的矩陣方程得到單元狀態變量的改進估計,直到已經解完用于所有串的矩陣方程。迭代地重復該過程,直到滿足收斂條件。這種解產生對于所有單元的狀態變量,這些狀態變量同時滿足對于所有單元的線性方程。由迭代產生的狀態變量能用來模擬物理系統的至少一個特性。在一個最佳實施例中,串的建造使用一種提高在串單元中的單元邊界處具有高可運輸性的串形成的規則。通過參照如下詳細描述和附圖將更好地理解本發明和其優點,其中類似元件已經給出類似號碼并且其中圖1是具有五行和十列的兩維笛卡兒柵格系統的簡化例子,其中單元的幾何形狀指示在單元之間的耦合強度,在單元之間的耦合對于垂直方向(在列內)的流量是最強的。圖2是類似于圖1例子的兩維笛卡兒柵格系統的簡化例子,不同之處在于,對于在水平方向的流動在單元之間的耦合在從左至右的運動中減小,而對于在垂直方向的流動在從左至右的運動中增大。圖3是一個兩維未構造柵格系統的簡化例子,其中單元不具有相同形狀,并且在單元之間的耦合不跟隨固定圖案。圖4描繪一個簡單兩維3單元乘5單元的15個單元柵格,表示在單元之間的可運輸性排序。圖5描繪圖4的柵格,表示把15單元柵格分解成一串單元的初始步驟。圖6描繪在圖5中所示的串已經切開以形成兩個串之后圖4的柵格。圖7描繪一個簡單兩維3單元乘6單元的18個單元柵格,表示在單元之間的可運輸性排序。圖8描繪圖7的柵格,表示把18單元柵格分解成一串單元的初始步驟。圖9描繪在圖8中所示的串已經切開以形成四個串之后圖7的柵格。附圖不打算從本發明的范圍排除是這些具體實施例的通常和期望改進的結果的其他實施例。本發明提供一種用來模擬用偏微分方程數值表示的物理系統的新方法。該方法能在模擬離散成構造柵格、未構造柵格、或兩者組合的兩維和三維域時使用。它也能用在這樣的情形中,其中計算方法產生具有大于三維的拓撲,如在模擬分裂多孔介質時出現的那樣。本發明在模擬其中運輸現象正在發生的物理系統的一個特性時特別有用。在該專利中所使用的術語“運輸現象”在廣義上使用,以包括動量運輸(粘性流動)、能量運輸(熱傳導、對流、及輻射)、及質量運輸(擴散)。本發明能應用于大不相同的領域,如物理、巖石特性化、晶體學、電氣工程、生物學、數學、流體力學、及石油工程。在模擬操作中的普通實踐是,表示在由方程Mx=y模擬的物理域上由基本偏微分方程的離散化產生的線性方程組(其中M是一個尺寸n×n的系數矩陣,即n行乘n列,x是表示未知值的尺寸n的一個列向量,y是表示一組已知值的尺寸n的一個列向量)。在模擬操作中的基本操作是解這種線性方程系統。這種操作例如在用于非線性方程解的牛頓-萊甫森法中、以及在普通差分方程的隱式積分期間產生。用來解偏微分方程的傳統方法取決于系數矩陣M的塊分區。這些解法包括諸如基于直線的松馳之類的迭代技術、諸如附加校正之類的收斂加速方案、及諸如嵌套因式分解之類的預調節。在本發明之前,在由未構造柵格構造塊結構產生一個顯著問題。本發明的方法通過排序和收集在未構造柵格中的節點以產生在系數矩陣M內的塊矩陣結構而克服這種困難,系數矩陣M允許使用基于塊的數值解算法,并且同時提高良好的收斂。本發明者已經發現,通過使用根據對于每對相鄰單元之間的邊界確定的可運輸性值的排序建造的單元拓撲串,能解用于物理系統的基本矩陣方程。當形成系數矩陣M時,每串與M中的塊有關。在該專利中使用的術語可運輸性是指諸如物質、能量、或電荷之類的某一實體在給定時間間隔期間跨過單元邊界(或單元連接)的運動的容易度或能力的一種度量。運輸的實體例如能是流體的質量或體積、顆粒數量、熱能量、輻射或電力。如果模擬的物理系統是油氣儲層,則在本發明的這種描述中使用的可運輸性與透過性同名,透過性是對于熟悉本專業的技術人員熟悉的術語,作為流體在表示多孔介質內的體積的兩個相鄰單元之間的流動的能力的度量。透過性表示為其中k是多孔介質的有效滲透性,A是在相鄰單元之間的邊界的面積,及△x是流體在兩個單元之間運動時必須走過的平均或特征距離。在實施本發明的方法時,第一步是把物理系統離散成彼此相鄰布置的多個體積單元,以便在每對相鄰單元之間具有一條邊界。使用基于劃分物理系統以模型化成較小單位的有限差分、有限體積、有限元、或類似方法,進行離散。隨后本發明的描述主要涉及有限差分法。熟悉本專業的技術人員將認識到,聯系有限元法或有限體積法也能應用本發明。當借助于有限元法應用它時,單元變成有限元素,并且當借助于有限體積法應用它時,單元變成有限體積。不管使用這些方法的哪一種,他們都把偏微分方程減小到一種有限維系統的代數方程。在儲層模擬中,對于每個柵格單元建造表示巖石和用于每種流體的液體性質的有限差分方程。這些方程事實上把要分析的物理系統看作包括多個較小連續單元的體積系統。當使用有限差分和有限體積法時,較小單位一般稱作單元或柵格塊,而當使用有限元法時,單元一般稱作元素。這些單元或元素能總計從小于一百至幾百萬個。在該專利中,為了表示簡單,使用術語單元,但應該理解,如果模擬使用有限元法,則術語元素代替在這種描述中使用的術語單元。在本發明的實施中,單元能具有任何幾何形狀,如平行六面體(或立方體)或六面體(具有四個長度可以變化的垂直角邊緣)、或四面體、平行四邊形、梯形、或三角形。柵格能包括以正規、構造圖案組織的矩形單元,或者它能包括具有以不規則、示構造圖案布局的各種形狀的單元,或者它能包括多個構造和未構造圖案。能組裝幾乎假定任何形狀的完全未構造柵格。所有單元最好是邊界對齊的,由此避免使單元任何邊長接觸兩個其他單元的邊長。在該專利中,術語邊界有時與術語連接可交換地使用。如果能有物質、能量、或電荷從一個單元至另一個的運動,則兩個單元具有一種連接。在一個構造柵格中,每個單元具有它與其連接的固定數量個相鄰單元。在一個未構造柵格中,連接的數量能從單元至單元變化。在該方法中的下一步是對于每個單元選擇狀態變量。狀態變量是必須和足夠規定系統狀態的那些變量。給定狀態變量,必須有可能計算單元的所有其他性質。對于儲層模擬,狀態變量之一幾乎總是壓力。其他能包括諸如飽和、物種濃度、及物種量。為了簡單,隨后的討論把除壓力之外的狀態變量簡單地稱作飽和,要理解他們能包括可以不包括飽和的各種物理性質。這些性質能從實際儲層數據整體或部分地得到,或者他們能依據進行的儲層模擬的類型和實際儲層數據的適用性經驗地確定或估計。熟悉本專業的技術人員能容易地確定適當狀態變量的確定和估計其初始值。本發明的描述假定,解決一個時間依賴問題。然而,有時希望解決穩態問題。在該描述中公開的原理也能應用于穩狀問題。象時間依賴問題,穩態問題涉及一次或多次解一個矩陣方程。對于每個單元,構造把一個單元的狀態變量與其相鄰單元的狀態變量相聯系的線性方程。構造這些方程以表示在每個單元內質量、能量、或動量的守恒和單元之間的質量、能量、或動量運動的基本原理。在儲層模擬中,出現在非線性有限差分方程中的非線性項被線性化,并且基于這種線性化,構造代數方程的一個線性組。這些方程能依據對于模擬操作選擇的方法顯著變化。已經提出的用來模擬儲層的方法主要不同之處在于,他們如何處理儲層狀態變量(如壓力和飽和)按時間變化的方式。在這些方法的多種中,狀態變量的值是未知的,直到已經完成用于時間步長的計算。結果,必須使用迭代過程確定他們。一種用來模擬儲層的普通使用過程叫做隱式壓力顯式飽和度法(IMPES法)。在IMPES法中,根據壓力在其時間步長末端處的值和飽和在其時間步長處的值計算在相鄰單元之間的流動。在這種方法中,在時間步長末端處的壓力是相互依賴的,并且必須同時確定。該方法叫做“隱式的”,因為每個壓力取決于僅隱含知道的其他量(例如,在時間步長末端處的其他壓力)。基本過程是通過轉換方程的組合得到一個單壓力方程。在壓力按時間已經上升之后,明顯地更新飽和。在計算飽和之后,能計算新的相對滲透性和毛細管壓力;這些明顯地用在下個時間步長處。用在儲層模擬中的另一個過程叫做全隱式法,該方法隱式地處理壓力和飽和。使用在每個時間步長末端處的相位壓力和飽和計算流量。流量及壓力和飽和解的計算涉及使用適當迭代技術解非線性方程。在解壓力和飽和時,這些項的更新繼續使用壓力和飽和的新值。當滿足收斂標準時,迭代過程終止。用在儲層模擬中的又一種過程叫做順序隱式法(SEQ法)。這種方法包括飽和的隱式處理,但不用同時求出壓力和飽和。它包括兩個步驟。第一步驟以與在IMPES法中進行的準確相同的方式解一組壓力方程。該組包括每個單元一個單方程,并且解它在時間步長末端處產生一個完全、新的壓力分布。在一個第二步驟中,壓力分布用來計算在單元之間每條邊界處的所有相位的速度和。這些所有速度在建造一組飽和方程時使用。這組包括在三相情況下的每個單元兩個方程和在兩相情況下的每個單元一個方程,并且同時解以產生在新時間的飽和。第二步驟是使用線性化隱式速度對于飽和的一個隱式解。通過使用相對滲透性的隱式(時間步長的末端)線性化值和在單元間流體流動項中的毛細管壓力,確定在每個單元中的飽和。該方法需要所有飽和方程的同時解。非線性方程的線性化和在解方程時使用的步驟彼此依賴。在線性化的過程中,代數方程將具有依賴于選擇的解技術的不同形式。例如,IMPES僅線性化壓力依賴項,如比容。比容因此表示為壓力的線性函數。SEQ法線性化關于壓力的相同壓力依賴項,并且它也線性化關于飽和的相位粘滯流動項。全隱式法線性化關于壓力的壓力依賴項和關于飽和的飽和依賴項(包括相對滲透性和毛細管壓力)。有可能以非迭代方式使用這些方法的任一種,其中解線性化方程給出在每個時間步長末端處的解。然而,就全隱式法而論,很少這樣做。而是用于時間步長的全隱式解通常使用牛頓-萊甫森迭代得到,其中解線性化方程產生一個近似解。重復牛頓-萊甫森迭代,直到根據預規定收斂標準認為生成的解估計足夠精確。熟悉本專業的技術人員能進行適當模擬方法的選擇和用來模擬物理系統的適當線性方程的建造。本發明不限于IMPES、全隱式、或SEQ模擬法。在本發明的實施中能使用其他已知的模擬方法、和沒有發現的模擬方法。用來建造儲層的數學模型的方法的例子在Peaceman,D.W.的數值儲層模擬的基礎(FundamentalsofNumericalReservoirSimulation),ElsevierScientificPublishingCompany,Amsterdam(1977年);和Mattax,C.C.和Dalton,R.L.的儲層模擬(ReservoirSimulation),MonographVolume13,SocietyofPetroleumEngineers(1990年)中描述。本發明的下一步是把一個可運輸性值與在單元相鄰對之間的每條邊界(或連接)相聯系。可運輸性值與在單元之間的每個連接的耦合強度相對應,這是一種連接如何彼此強烈地耦合兩個連接單元的度量。如果兩個單元強烈地耦合,則他們彼此具有強烈的連通,在一個單元處狀態變量的變化將對另一個單元中的狀態變量有顯著影響。如果兩個單元耦合較弱(弱連接),則在一個處的變化對另一個沒有什么影響。對于使用有限差分的載有流體多孔介質的模擬,耦合強度能認為是連接的可運輸性。對于其他物理系統的模擬操作,耦合強度可以與其他已知或容易確定的物理量相對應。對于某種模型化,由矩陣方程的系數能直接確定耦合強度。熟悉本專業的技術人員對于分析的物理系統能夠確定在單元之間的耦合強度的適當度量。一旦確定可運輸性值,則從具有最大強度的一個至具有最小強度的一個排序單元連接(耦合強度)。在這樣做時,耦合強度的聯系能以任何適當方式打破。最好,使用一種適當排序過程進行連接強度的排序。一種最佳排序過程使用QUIKSORT算法,該算法在WilliamH.Press,SaulA.Teukolsky,WilliamT.Vetterling和BrianP.Flannery的書“數值方法(NumericalRecipes)”,SecondEdition,CambridgeUniversityPress(1994年)中描述。根據在單元之間可運輸性值的排序,然后構造單元的拓撲一維單元串。構造諸串以包含盡可能多的最強連接(最高可運輸性值)。在最高排序可運輸性值(即最強連接)處開始,在它連接的兩個單元之間創建一種串中連接。然后選擇次最高排序可運輸性值,并且把一個第二串連接放置在它連接的兩個單元之間。循環重復該過程,直到對于在單元串中的可能包括已經考慮到所有單元連接。在這種方法中,允許每個單元沒有多于兩個串連接。如果連接的單元之一已經具有兩個串中連接,則該連接不能添加到一個串。每個單元能連接到在相同串中的最多兩個其他單元上。因此,沒有多于單元相鄰的兩個能在相同串中。相鄰的之一將位于串中上方或在它之后,而一個位于下方或在它之前。幾乎所有單元都具有對于兩個相鄰單元的串中連接。位于串末端處的單元將具有僅對于一個相鄰單元的串中連接。少量幾個單元可能沒有對于任何相鄰單元的串中連接。這些單元將形成單獨單元串。包括多個單元的串形成拓撲一維直線,但該線在物理上不必是直的。在已經創建諸串之后,串的一些能并且可能接觸他們本身。如果串包含連接到串中多于兩個其他單元上的一個單元,則串接觸它本身。另外,可能創建一種是圓形的串。在用于串構造中的最佳規則中,既不允許圓形串也不允許接觸本身的串。如果這些條件之一出現在串中,則切斷該串。盡管能應用各種切斷過程,但如下描述一種最佳過程。如果串是圓形的,則能在任何處切斷串,但最好在串的最低排序串中連接處進行切斷。為了切斷接觸本身的非圓形串,在串的頂部處開始,沿著串進行,及確定在每個單元處一個單元是否接觸(連接到)相同串中的另一個單元,該單元在前面但在串內不是緊在它前面。如果一個單元接觸在相同串中在前面但在串內不是緊在它前面的另一個單元,則在當前單元與它接觸的單元之間的某一地方切斷該串。這種辨別過程沿串的單元繼續,并且直到辨別到最后單元,該最后單元接觸相同串中在前面但在串內不緊在它前面的另一個單元,且辨別第一單元,該第一單元接觸相同串中在后面但在串內不緊在它后面的另一個單元。最好在這兩個單元之間的最低排序連接處切斷該串。繼續串的這種分析和切斷過程,如需要的那樣,直到串沒有部分接觸它本身。希望的最終結果是一組滿足如下規則的串(1)每串除串中的那些之外沒有對其本身的連接和(2)沒有串是圓形的。如果串不滿足這些規則,則截斷該串,從而它的確滿足規則。在計算機中表示諸單元時,把每個單元分配一個標識它的索引號碼。每串將由這些索引的一個排序清單定義,第一索引指示在串開始處的單元,下一個索引指示在串中的下個單元,依此類推,直到指示在串結束處的單元的最后索引。事實上,單元在串中的位置由其索引在該索引清單中的位置指示。最佳串切斷過程的更詳細描述如下。第一步是切斷任何圓形串。首先,必須找到圓形串。這通過一個使用如下過程的消除過程進行。如以上注意到的那樣,把單元加索引。從具有最小索引的單元開始,1.檢查每個單元,以確定是否已經把它標記為屬于一個非圓形串。如果是,則進行到具有次較大索引的單元。2.如果單元還沒標記為屬于一個非圓形串,則確定它是否具有對于兩個其他單元的串連接。如果是,則進行到具有次較大索引的單元。3.如果單元沒有串連接,則它屬于一個單單元串。把它標記為屬于非圓形串,其串添加到串清單,及把單元的索引添加到新串的單元清單。4.如果單元具有一個串連接,則它形成下個串的開始。把單元標記為屬于一個非圓形串,把串添加到串清單上,初始化串的單元清單,及然后把單元的索引添加到該單元清單上。從一個單元到下一個通過跟隨其串連接而追蹤該串,把每個單元標記為屬于一個非圓形串,并且把每個單元的索引添加到串的單元清單。當達到不具有對于另一個單元的串連接的單元時,這是串的末端。重復這些步驟,直到已經檢查所有單元。在這時,還沒標記為屬于非圓形串的任何單元屬于一個圓形串。一旦已經辨別到一個圓形串,下個步驟就是在其最弱連接處截斷每個圓形串。從具有最小索引的單元開始,1.檢查每個單元,以確定是否已經把它標記為屬于一個非圓形串。如果是,則進行到具有次較大索引的單元。2.如果單元不屬于非圓形串,則它屬于圓形串。從一個單元到下一個通過跟隨其串連接而追蹤該串,保持跟蹤遇到的最小可運輸性和它連接哪兩個單元。當達到初始單元時,已經完全橫過該圓形。從連接它的兩個單元除去具有最小可運輸性的串連接。把這兩個具有較小索引的單元看作是下個串的開始。把該串標記為屬于一個非圓形串,把該串添加到串清單上,初始化串的單元清單,及然后把單元的索引添加到該單元清單。從一個單元到下一個通過跟隨其串連接而追蹤該串,把每個單元標記為屬于一個非圓形串,并且把每個單元的索引添加到串的單元清單。當達到不具有對于另一個單元的串連接的單元時,這是串的末端。3.重復以上過程,直到已經檢查所有單元。在這時,所有單元屬于非圓形串。下個步驟是截斷“接觸”本身的;即經非串連接連接到他們本身上的任何串。這一次一串地進行。從串中具有最小索引號碼的第一單元處開始,1.確定除其串連接之外的單元連接的任一個是否把它連接到串中的另一個單元上。如果不是,則前進到串的單元清單中的下個單元。2.如果單元具有對于串中其他單元的非串連接,則確定離串開始最近的連接單元。在串中初始化對于當前單元位置的一個位置P1和對于連接單元位置的一個第二位置P2。在這兩個位置之間的任何處截斷該串。3.運動到串中的下個單元。確定該新當前單元是否具有對于串中其他單元的非串連接。如果是,則把P1設置到當前單元位置。確定最靠近串開始的連接單元。如果它比P2靠近開始,則把P2設置成等于連接單元的位置。4.如果在串中的下個單元的位置是P2,則跳到下面的步驟5。否則,重復步驟3。5.找到在串中在P1處的單元與在P2處的單元之間具有最小可運輸性值排序的連接。通過在靠近串開始的連接單元處終止串象征性地截斷這種連接。其他連接單元將是在新串中的第一單元。把該串添加到串清單上,初始化串的單元清單,及然后把連接單元的索引添加到該單元清單上。從一個單元到下一個通過跟隨其串連接而追蹤該串,把每個單元的索引添加到串的單元清單上。當達到不具有對于另一個單元的串連接的單元時,這是串的末端。新串將在串清單的末端處。當一串一串地進行該過程時,最終將達到新的一個。在這點處,可以再截斷串。如果是,則創建另一個新串。最終所有串獲得處理,在這時所有串將滿足一個預定組串建造規則。一旦建造諸串,就通過組成與每串的單元有關的線性方程對于每串產生一個矩陣方程。該矩陣方程的形式與在構造柵格問題中用于LSOR直線的相同。系數矩陣方程包含與在單元與其串中相鄰單元之間的流動有關的項對矩陣方程的右手側產生影響。然后通過一次一串地解用于每串的矩陣方程得到單元的狀態變量的改進估計,直到已經解完所有串的矩陣方程。迭代地重復該過程,直到滿足收斂條件。進行的迭代基本上與LSOR相同,不同之處在于直線是單元的串而不是常規LSOR的行或列。該方法因此稱作串逐次超松馳法。諸串能以任何順序處理,并且他們能經給定順序向前運動而被處理,然后經相同順序向后。這產生一種對稱逐次超松馳法。隨后的討論假定常規的而不是對稱的逐次超松馳。熟悉本專業的技術人員能夠建造該方法的對稱逐次超松馳形式。一旦已經創建一組串,就按如下得到在牛頓迭代或時間步長上的解變化。首先,組成用于每串的方程組。然后計算初始余數,如果他們還不知道的話。這些必須包括把串的單元連接到其他串中的單元上的項的影響。然后進行迭代,每次迭代包括如下步驟。1.解串的矩陣方程,把串的當前余數用作右手側。2.把在步驟1中得到的解變化乘以一個位于一與二之間的超松馳參數ω。如果使用Orthomin加速,則收斂速率通常僅稍微取決于選擇的值,最佳值通常在1與1.5之間。如果不使用Orthomin,則最佳值通常稍小于2,并且收斂速率對選擇的值更敏感。3.通過把他們乘以量1-ω更新串的余數。4.對于當前串處的解變化更新在連接到當前串上的所有串處的余數。在這樣做之后,所有串的余數將與當前解估計相一致。熟悉本專業的技術人員熟悉這樣的計算。5.對于每串進行步驟1-4。能以任何順序處理諸串,但對于每次迭代應該使用相同順序。6.使用輔助校正選擇性地加速收斂,如下面描述的那樣。7.使用Orthomin或另一種Krylov子空間法選擇性加速收斂,如下面描述的那樣。8.檢查由收斂測量證實的收斂是否小于預定標準。重復以上迭代步驟1-8,直到得到滿意的收斂。在一個最佳實施例中,本發明迭代法的收斂通通借助于常規LSOR使用的相類似的輔助校正提高。一種最佳添加校正的描述在J.W.Watts的、標題為“一種適用于各向異性問題的迭代矩陣解法(AnIterativeMatrixSolutionMethodSuitableforAnisotropicProblems)”的論文中描述,該論文出現在石油工程師協會期刊(SocietyofPetroleumEngineersJournal)卷11、1971年3月第47-51頁中。為了應用輔助校正,首先必須通過對每串求和方程建造一個校正矩陣方程。借助于LSOR使用輔助校正的熟悉本專業的技術人員能夠建造該方程。使用如下步驟然后能應用輔助校正。(6a).在每串中的單元上求和余數。如果正在使用多于一個物類的守恒方程,則對于這些方程的每一個在串中所有單元上求和余數。(6b).把來自步驟(6a)的求和余數用作右手側解校正矩陣方程。解對于解的每個未知量將包括對于每串的一種輔助校正。(6c).對于每串把在步驟(6b)中確定的輔助校正添加到在串內每個單元處的未知量上。(6d).對于對于所有串中的所有單元計算新的余數。在另一個實施例中,Orthomin法也能加速收斂或基于正交化和最小化的某種其他方法。Orthomin法屬于Krylov子空間法的種類,其中把解映射到一個Krylov子空間上。根據得到的整體解變化應用Orthomin加速過程。這通過把在以上迭代步驟1-5中確定的變化添加到在以上輔助校正步驟(a)至(d)中確定的變化上執行。Orthomin由P.K.W.Vinsome在標題為“Orthomin,一種用來解聯立線性方程的稀疏帶組的迭代方法(Orthomin,anIterativeMethodforSolvingSparseBandedSetsofSimultaneousLinearEquations)”的論文中描述,論文號SPE5729,呈現在關于儲層性能模擬的第四SPE論文集中,LosAngeles1976年2月19-20日。也見Saad,Y.,1989年的“關于超級計算機的Krylov子空間法(Krylovsubspacemethodsonsupercomputers)”,SIAMJ.Sci.Stat.Comput.,10,p.1200-1232。最佳實施例使用Orthomin,但能使用其他加速方法,如GMRES,在由Saad,Y.和Schultz,M.H.,公開的報告“一種用來解非對稱線性系統的一般化最小余數算法(AGeneralizedMinimumResidualAlgorithmforSolvingNonsymmetricalLinearSystems)”,TechnicalReport254,YaleUniversity,1993年中描述。Orthomin計算包括如下步驟(7a)計算由Orthomin使用的參數。(7b)使用這些參數,更新解估計。(7c)對于所有串中的所有單元計算新余數。用在步驟6中的校正矩陣方程具有與原始矩陣方程相同的形式。結果,使用以上迭代能解它。這樣做涉及諸串的建造串。迭代解產生用于所有單元的狀態變量,這些狀態變量在與使用的預定收斂標準相對應的精度內同時滿足用于所有單元的線性方程。改進解然后能用來模擬物理系統的至少一個特征。如果物理系統是一個儲層,則模擬的特征能包括例如油壓力、水壓力、油飽和、及水飽和。從這些變量能導出其他特征,如油生產率和水生產率。對于多個時間步長能重復迭代計算,并且結果能用來預計物理系統的性質和在其中作為時間的函數出現的運輸現象。現在參照附圖將描述本發明的方法。作為有助于讀者理解本發明的背景信息,就圖1和2而論呈現直線逐次超松馳(LSOR)的原理的簡短討論。圖3表明未構造柵格系統的一個簡化例子,在本發明的方法之前的該例子在模擬操作中沒有使用LSOR。圖4-9提供柵格系統映象的例子,在描述用來構造適于在模擬中應用LSOR原理的串或單元的直線的最佳過程時參考這些例子。圖1表明已經劃分成組織成5行(a、b、c、d、及e)和10列(1至10)的50個單元的物理系統的簡化兩維笛卡兒模型。對于基于圖1的單元的模擬,LSOR能應用于形成行或列的單元的線。如果LSOR線是列,并且如果假定模擬計算從左至右進行,則第一步是計算在第一列中的改進解,把第二列中的解保持固定在其當前估計處。LSOR法的第二步計算在第二列中的解,把在第一列中的解保持固定在其在第一步計算的當前估計處,并且也把在第三列中的解保持固定在其當前估計處。以后步驟計算在第三列中、在第四列中的改進解,依此類推,直到計算在所有列中的改進解。該過程構成一次LSOR迭代。重復它,直到得到希望精度的解。在LSOR中,線的方位是重要的。當通過列或通過行進行時LSOR是否收斂得最快主要取決于在行內和在列內單元之間的耦合強度。如果單元之一的狀態變化強烈地影響第二個的狀態,則在兩個單元之間的耦合強烈,而如果在第一單元中的這種變化對第二個沒有什么影響,則它較弱。在模擬一個儲層時,具有跨過單元之間的邊界的較大可運輸性的兩個單元認為強烈地耦合。如果由位于最強耦合方向上的線進行,則LSOR通常收斂得最快。圖1中的單元具有大于高度的寬度的事實指示耦合在列內比在行內強,因為在兩個單元之間耦合的強度一般與適用于在他們之間的運輸的橫截面積直接成正比,而與在他們中心之間的距離成反比。當耦合在列內比在行內強時,即對于1描繪的單元的情形,LSOR在其線是列時比他們是行時收斂得快。在儲層模擬時,如果線方位在高運輸性的方向上,則迭代收斂速率較快,這對于正規、構造柵格系統常常是沿單元的列取向的單元。已知LSOR收斂能通過應用輔助校正加速。輔助校正當耦合在一個方向上比在其他一個或多個方向上強烈得多時和正在確定諸如在熱傳導問題中的每個單元的溫度之類的單個未知量時最有效。如果LSOR通過列進行,則輔助校正是添加在一列單元中的每個溫度上的量。通過求和在一列單元內的方程得到計算輔助校正需要的每個方程,這事實上確定如果把單元列看作單個單元則應用的方程。最強耦合的方向有時能在空間中變化。這種方向變化能由圖2中所示的柵格單元表明,圖2表明已經劃分成組織成5行(a、b、c、d、及e)和15列(1至15)的75個單元的物理系統的兩維模型。如在圖1中那樣,圖2單元的幾何形狀指示耦合的強度。在單元之間的邊界越大,在單元之間的耦合越大。在左端(列1)上,耦合在行內最強,而靠近右端(列15),耦合在列內最強。LSOR方位的任何可能選擇表示一種調和。LSOR在這樣一種模型中可能緩慢地收斂。圖3表明未構造單元柵格的一個簡化例子。它叫作未構造的,因為其單元不都具有相同形狀,并且其連接性對于所有單元不按照固定圖案。該柵格不包含單元的線,即不包含列也不包含行,在這些線上自然應用LSOR。如果LSOR用來解用于這種未構造單元的方程,則必須首先改進LSOR過程。本發明者已經發現一種根據LSOR的原理能用作一種解法的用來產生線(或串)的新穎方法。參照圖4、5和6現在將描述用來構造串的一個最佳過程,這些圖表明編號201至215的15個單元的拓撲一維映象圖。每對相鄰單元在其之間具有一條邊界,對于15個單元總共有22條邊界。按照促進在串中包括盡可能多的具有較大可運輸性值的單元的規則建造諸串。首先通過任何適當的裝置確定可運輸性值,并且排序可運輸性值,使最大可運輸性值具有一的排序至最小可運輸性值具有最低排序。因而從最強單元耦合至最弱排序邊界(或連接)。在圖4-6中,因為有22條邊界,所以可運輸性排序在從1至22的范圍內。在圖4-7中,分配給每條邊界的號碼表示在每條邊界處的可運輸性排序。例如,在塊207與208之間的邊界具有最大可運輸性值,并因此分配1的排序。在單元208與209之間的邊界具有第二大可運輸性值,并且分配2的排序。對于所有22條邊界重復該過程。用來構造單元串的最佳規則是拓撲地形成包含盡可能多的最高排序可運輸性值的相鄰單元的一維體。該規則按如下執行接合在最高排序連接任一側的兩個單元,然后接合在次最高排序連接任一側的兩個單元,及以這種方式循環地進行,總是把接合在最高排序剩余連接任一側的兩個單元,除非在連接任一側的一個或兩個單元已經接合到兩個另外的單元上,直到已經取盡連接清單。如果在邊界任一側的任何單元以前接合到兩個單元上,則該邊界不會形成為建造一個串目的的連接。把該串構造規則應用于圖4的柵格,因為在單元207與208之間的連接具有最高可運輸性值排序,所以首先接合這兩個單元。其次,接合單元208和209,因為在他們之間的連接具有排序號2。排序3位于214與215之間,從而以后接合這兩個單元。借助于認為是可能串連接的所有單元連接,循環地繼續該過程。盡管在圖4中沒有表示,但該構造過程可以生成沒有對于相鄰單元連接的幾個單元,在這種情況下,這種獨立的單元形成一個單元的串。對于圖4的單元使用該過程,結果是圖5中所描繪的單串。圖5表示由位于一條拓撲一維線上的單元組成的一個串40。串40的分析表示串接觸其本身。如在本發明的描述中使用的那樣,如果一個串的給定單元與在該串中的一個第二單元具有一條邊界,并且第二單元不是緊在給定單元之前或之后的單元,則串接觸其本身。因此,按照用于串構造的最佳規則,串40需要切斷。使用上述的切斷過程,切斷過程通過分析在一端開始的串40的單元而開始。從單元207開始,它接觸單元212、206、及202;在這些中,單元212最靠近串的開始。位置P1指向單元207,而位置P2指向單元212。其次,考慮單元208。它接觸單元203和213。P1現在指向單元208,而P2指向單元213,因為213比212更靠近串的開始。其次,處理單元209。它接觸單元204和214;P1現在指向209,而P2指向214。最后,單元210接觸單元205。P1現在指向單元210。P2不變,因為單元205不比單元214更靠近串的開始。單元215不接觸另一個單元。在單元210與214之間在具有最低可運輸值的連接處進行切斷。在單元210與214之間的連接具有3和9的可運輸性排序。由于最低排序是9,在單元210與單元215之間的連接處進行切斷。圖6表示在切斷圖5的串40之后形成兩個串50和51的最終結果。參照圖6,串50包括單元205、204、203、202、201、206、211、212、213、214、及215的拓撲一維線,而串51包括單元207、208、209、及210的拓撲一維線。在串50和51內,把不在串中的最高排序連接排序為第九(在單元210與215之間)。十一個最高排序連接的九個位于串50和51內。這兩個串滿足在串中包括盡可能多的具有最高排序可運輸性值的連接的目標。上述構造方法學的應用總結在下面關于圖4-6的15個單元的表1中。表1的第四列指示串連接是否成為一條串的部分(在執行任何串切斷之前)。例如,連接排序號碼1與在單元207與208之間的邊界相對應,并且因為這是第一串連接,所以在該邊界任一側的單元以前都沒有接合到多于一個單元上。該過程應用于連接排序1至22。連接的一些不會成為在串內的連接。例如,參照表1,連接排序號12(在單元206與207之間的邊界)不能放置在串內,因為單元206以前接合到單元211和201上。因此認為單元206是滿的。換句話說,單元206和207不能是單元串中的相鄰單元。類似地,在單元203與208之間的連接排序20不能是在單元串中的連接,因為單元203和208是滿的;單元203以前接合到單元202和204上,而單元208以前接合到單元207和209上。圖7、8、和9表明編號301至318的18個單元的映象圖。每對相鄰單元在其之間具有一條邊界,對于18個單元總共有27條邊界。以與關于圖4-6在以上描述的排序過程相類似的方式,把編號1至27的可運輸性值的排序分配給邊界。圖7、8、和9表示與每條邊界有關的可運輸性值排序。用來建造圖5的串40的相同串建造規則用來由圖7中描繪的18單元柵格建造串。串建造的結果表示在圖8中。形成兩個串60和61。串60包括單元313、307、301、302、308、及314的拓撲線,而串61包括單元310、311、312、306、305、304、303、309、315、316、317、及318的拓撲線。使用在產生表1的數據時使用的相同串建造規則,把為建造串60和61的單元排序的逐個單元分析總結在下面的表2中。一旦建造串60和61,下一步就考慮是否需要切斷諸串。首先處理串61,因為其第一單元是號碼310,而串60從單元313開始。再參照圖8,分析串61以確定它是否需要切斷。分析從單元310開始。位置P1和P2依次指向單元310和304、311和305、及312和305。在單元305與312之間的最弱耦合處切斷串61。對于這種切斷的潛在耦合具有16和15的可運輸性排序,16是最弱耦合。為了促進包括最高排序可運輸性值,在單元305與305之間的連接-最低排序連接-處進行切斷,以形成表明在圖9中的兩個串72和73。通過對于串72中的單元進行類似分析,確定不必進一步切斷,因為串72不接觸它本身。其次,分析串60確定它是否也必須切斷。分析在單元313處開始。位置P1和P2指向單元313和314,并且然后指向307和308。在單元307與308之間,合格切斷的連接具有可運輸性排序5、22、和9。由于22是這三個的最低排序,所以在單元301與302之間切斷串60,以按圖9中所示形成兩個串70和71。本發明不過度限于為說明目的已經敘述的上文。相反,各種各樣的修改和可選擇實施例對于熟悉本專業的技術人員是顯然的,而不脫離本發明的、在下面敘述的權利要求書中定義的真正范圍。表1表權利要求1.一種模擬一個物理系統的至少一個特征的方法,包括步驟(a)把物理系統離散成彼此相鄰布置的多個體積單元,以便在每對相鄰單元之間具有一條邊界;(b)對于每個單元分配狀態變量的一個初始估計;(c)對于每個單元建造使其狀態變量與同其相鄰的單元的狀態變量相關的線性方程;(d)把每條邊界與一個可運輸性值相聯系,并且對應于下降可運輸性值來排序邊界;(e)使用邊界排序以拓撲地建造一維單元串;(f)通過組合與每串的單元有關的線性方程產生一個用于每串的矩陣方程;(g)通過一次一串地解用于每串的矩陣方程得到單元狀態變量的改進估計,直到已經解完所有串的矩陣方程;(h)重復步驟(g),直到滿足收斂條件,由此得到對于所有單元的狀態變量,這些狀態變量同時滿足對于所有單元的線性方程;及(i)使用在步驟(h)中確定的狀態變量,模擬物理系統的至少一個特征。2.根據權利要求1所述的方法,其中串的建造使用一種規則,該規則促進在相同串中的單元之間的單元邊界處具有高可運輸性值的串的建造。3.根據權利要求1所述的方法,進一步包括步驟(i)對應于可運輸性值的相對大小來分級排序邊界,以從具有最高可運輸性值的邊界至具有最低可運輸性值的邊界的下降順序排序邊界;和(ii)根據第一規則和第二規則建造在步驟(e)中的串,第一規則促進包括具有盡可能多的與單元之間的邊界有關的最高排序可運輸性值的單元,而第二規則要求串中的任何給定單元與同一單元拓撲串中的不多于兩個其他單元具有邊界。4.根據權利要求1所述的方法,其中對于在步驟(f)中使用的任何給定串,除緊在給定串中的給定單元之前或之后的單元之外,該給定串中沒有單元連接到該串中的單元上。5.根據權利要求1所述的方法,其中在步驟(e)中建造的串是圓形的,該方法進一步包括在單元的圓形串中的最低排序邊界處切斷串的步驟。6.根據權利要求1所述的方法,其中在步驟(e)中建造的給定串包含一個單元,該單元接觸在給定串中既不緊在該單元之前又不緊在該單元之后的另一個單元,該方法進一步包括以下步驟在給定串的一端處開始并且逐個單元地確定在給定串中的一個給定單元是否接觸在給定串中既不緊在給定單元之后又不緊在其之前的另一個單元,辨別在串中接觸串中另一個單元的最后單元,辨別在所述最后單元與在接觸串中另一個單元的最后單元之前的最靠近單元之間的最低排序邊界,及在所述最后單元與在接觸串中另一個單元的最后單元之前的最靠近單元之間的最低排序邊界處切斷串,由此由給定串形成兩個新串。7.根據權利要求1所述的方法,其中對于線逐次超松馳法建造對于步驟(g)中的對每串組合的矩陣方程。8.根據權利要求7所述的方法,進一步包括把一種輔助校正應用于在每串內步驟(f)的改進估計解的步驟,確定輔助校正,從而其應用使在每串內的余數之和成為零。9.根據權利要求1所述的方法,其中迭代解由一種Krylov加速法加速。10.根據權利要求9所述的方法,其中加速法使用Orthomin法。11.根據權利要求9所述的方法,其中加速法使用GMRES法。12.根據權利要求1所述的方法,其中在步驟(e)中的串建造形成圓形串,一個附加步驟在具有最低排序可運輸性值的邊界處打斷每個圓形串。13.根據權利要求1所述的方法,其中物理系統包括一個含油氣儲層、從地面向儲層延伸的井、在地面處的載油氣管線、及油氣處理設施。14.根據權利要求1所述的方法,其中物理系統包括一個地下儲水層。15.根據權利要求1所述的方法,模擬的特征是在物理系統中的熱傳遞。16.根據權利要求1所述的方法,其中模擬的物理系統是一個含油氣層。17.根據權利要求1所述的方法,其中解的矩陣方程由有限差分近似的使用生成。18.根據權利要求1所述的方法,其中解的矩陣方程由有限元近似的使用生成。19.根據權利要求1所述的方法,其中解的矩陣方程由有限體積近似的使用生成。20.根據權利要求1所述的方法,其中體積單元包括多個未構造單元。21.根據權利要求1所述的方法,其中體積單元包括構造和未構造單元。22.根據權利要求1所述的方法,進一步包括步驟(i)辨別具有一個與串的多于兩個單元具有一條邊界的單元的串;和(ii)切斷該串,由此形成兩個串。23.根據權利要求1所述的方法,其中串的切斷是在具有最低可運輸性值位于彼此接觸的兩個單元之間的邊界處,并且單元和在這兩個單元之間的邊界在一維單元串中。24.根據權利要求1所述的方法,其中步驟(c)的線性方程使單元在一個時間間隔末端處的狀態變量與同它相鄰的單元也在該時間間隔末端處的狀態變量相聯系。25.一種預測一個包含多種流體的物理系統的一個特征的方法,包括步驟(a)把物理系統離散成彼此相鄰布置的多個體積單元,以便在每對相鄰單元之間具有一條邊界;(b)對于每個單元分配狀態變量的一個初始估計;(c)對于每個單元,建造表示單元中的流體在一個時間間隔上的特性的基本方程,所述方程使用在時間間隔末端計算的流體和運輸性質;(d)通過把基本方程線性化建造線性方程;(d)把每條邊界與一個可運輸性值相聯系,并且對應于下降可運輸性值來排序邊界;(e)使用邊界排序以拓撲地建造一維單元串;(f)通過組合與每串的單元有關的線性方程產生一個用于每串的矩陣方程;(g)通過一次一串地解用于每串的矩陣方程得到單元狀態變量的改進估計,直到已經解完所有串的矩陣方程;(h)重復步驟(g),直到滿足收斂條件,由此得到對于所有單元的狀態變量,這些狀態變量同時滿足對于所有單元的線性方程;及(h)使用步驟(g)的結果以預測物理系統和它包含的流體在時間間隔末端處的一個特征;及(i)對于多個時間間隔進行步驟(b)至(h),并且使用結果預測物理系統和它包含的流體的性質作為時間的函數。26.根據權利要求25所述的方法,其中物理系統是一個地下地層。27.根據權利要求25所述的方法,其中地下地層包含油氣流體。28.根據權利要求25所述的方法,其中物理系統包括與來自地下含油氣地層的油氣生產有關的含流體設施。29.根據權利要求25所述的方法,其中含流體設施是表面流動管線和井孔管道。30.根據權利要求25所述的方法,其中步驟(h)的結果用來預測物理系統中流體的壓力和飽和。31.根據權利要求25所述的方法,其中單元是有限差分柵格單元,而基本方程是有限差分方程。32.根據權利要求25所述的方法,其中未構造單元。33.根據權利要求25所述的方法,其中構造單元。34.根據權利要求25所述的方法,其中單元是有限元素,并且基本方程是有限元方程。35.根據權利要求25所述的方法,其中單元是有限體積,并且基本方程是有限體積方程。全文摘要提供一種用來模擬一個物理系統的至少一個特征的方法。把物理系統離散成在其之間具有邊界的多個體積單元(201-215)。對于每個單元分配狀態變量的一種初始估計。對于每個單元,構造把其狀態變量與其相鄰的單元的狀態變量相聯系的線性方程。把一個可運輸性值與每條邊界相聯系,并且然后對應于下降可運輸性值來排序邊界。邊界排序用來拓撲地構造一維單元串(50、51)。對于每個串通過組合與單元有關的線性方程,建造用于每串的一個矩陣方程。通過解該矩陣方程確定單元狀態變量的改進估計。這些狀態變量然后用來模擬物理系統的至少一個特性。文檔編號G01V1/28GK1345429SQ00805750公開日2002年4月17日申請日期2000年3月15日優先權日1999年3月31日發明者詹姆斯·W·沃茨三世申請人:埃克森美孚上游研究公司