一種基于三維觀測系統排列片數據分割的正演模擬方法
【專利摘要】本發明公開了一種基于三維觀測系統排列片數據分割的正演模擬方法,特征是在各節點上進行排列片的放炮和數據接收;首先設計模型及三維觀測系統,然后在主節點傳送束線號和排列片號,其他節點接收到束線號和排列片號后,先調用模型數據切割函數得到該排列片所對應的模型數據,再調用三維有限差分正演函數,進行波場計算,在該函數內加入炮排及炮點號的循環以實現單個排列片內多炮或多炮線的正演。本發明通過基于排列片的數據分割策略,實現了模型三維正演模擬的并行計算方法,較傳統的炮記錄并行方式,可大大提高基于三維觀測系統模擬的計算效率,經初步驗證切實可行。
【專利說明】一種基于三維觀測系統排列片數據分割的正演模擬方法
【技術領域】
[0001]本發明屬于油氣勘探地震數值正演模擬領域,是一種高效的基于三維觀測系統排列片數據分割的正演模擬方法。
【背景技術】
[0002]二維溶洞模型的數值正演模擬方法已有很多學者做過相關研究。如閔小剛等(2006年)在非均勻介質條件下,導出二維彈性波波動方程交錯網格有限差分格式,并進行了塔河油田縫洞模型的正演模擬計算;董良國等(2010年)采用空間網格大小和時間步長均可任意變化的高階有限差分地震波傳播數值模擬方法,對不同大小和埋深的溶洞系列模型進行了不同主頻的地震波數值模擬;劉春園等(2010年)利用隨機介質建模技術,設計并建立了一系列碳酸鹽巖儲層規則孔洞和隨機孔洞模型,并應用變網格有限差分法對地震波在孔洞模型中的傳播進行了正演計算。另外,撒利明、姚逢昌、狄幫讓、姚姚(2010年)較系統地研究了縫洞型儲層地震識別理論與方法,撰寫了專著,但其研究以物理模型模擬為主。
[0003]總的來看,前人的研究以二維數值模擬為主,三維正演數值模擬由于數據量大、計算量大、并行環境要求高等多種因素,還很少有人涉足。至于根據三維觀測系統特點,模擬實際野外地震資料采集過程,按照排列片進行數據分割,并借助MPI大數組傳遞的高效、實用并行方法,目前國內外尚未有相關研究報道。隨著三維高精度地震勘探的推進,根據儲層特點進行靈活多樣的三維正演數值模擬,優化采集與處理方案,節約勘探成本,提高地震勘探的性價比,三維數值模擬將發揮實際地震數據不可替代的指導性作用。
[0004]對地震波場進行數值模擬有著十分廣泛的應用,它可以很好地研究地震波傳播的運動學和動力學特征。數值模擬技術幾乎貫穿整個物探工作始終,包括觀測系統優化設計、反演和解釋結果檢驗,等等。現今,三維高精度地震勘探已是地震勘探的主要發展方向,它的特點是道距小,施工密度大,采集成本高。如果施工前,先根據儲層的特點進行數值模擬,研究出儲層特征對采集參數的實際要求(如道距、覆蓋次數、排列長度等),進而對觀測系統和資料處理進行優化設計,就可以提高勘探效率,大大節約生產成本。三維數值模擬很重要,但實現起來很困難,主要是數據量大、計算量大,一次施工要成千上萬炮,每炮要成千上萬道,每道還有幾千個數據點。單臺計算機,因為模型數據量大無法實現。多節點計算機,如果是簡單地按炮并行,也無法模擬實際生產過程。數據輸入輸出既不易管理,也極耗時。所以,有必要根據地震采集的特點,研發出基于排列片數據分割并行的三維建模技術,以提高計算效率。
【發明內容】
[0005]本發明的任務在于提供一種基于三維觀測系統排列片數據分割的正演模擬方法;其是在基于波動方程單炮三維高階交錯網格有限差分正演模擬的基礎上研發出的,是一種基于排列片數據分割的三維MPI并行正演模擬方法。
[0006]其技術解決方案是:
[0007]—種基于三維觀測系統排列片數據分割的正演模擬方法,在各節點上進行排列片的放炮和數據接收;首先設計模型及三維觀測系統,然后在主節點傳送束線號和排列片號,其他節點接收到束線號和排列片號后,先調用模型數據切割函數得到該排列片所對應的模型數據,再調用三維有限差分正演函數,進行波場計算,在該函數內加入炮排及炮點號的循環以實現單個排列片內多炮或多炮線的正演。
[0008]上述基于三維觀測系統排列片數據分割的正演模擬方法,還包括如下具體步驟:
[0009]a設計模型時,應根據實際地質問題,設計地質體,地質體包括地層界面、斷層或溶洞、裂縫,并設置這些地質體的速度,建立起對應的三維速度模型;進一步地,對于一些特殊地質問題還可以進一步設計對應的密度數據體;
[0010]b設計三維觀測系統,確定參數,參數包括接收線數、道間距、炮線數、炮點數、炮檢距、縱向及橫向滾動次數,并根據這些參數確定單個排列片數據和整個正演模型數據的大小;
[0011]C調用MPI_Init并行語句啟動MPI,形成通信集MPI_Comm_World,調用MPI_Comm_size和MPI_Comm_rank獲取進程總數和進程序號;
[0012]d讀取參數文件,包括模型文件名、單個排列片大小、網格大小、第一炮點位置、采樣點、采樣間隔、炮線數、炮點數、束線號、炮排號、道距、炮距、接收線距、炮線距與束間距;
[0013]e在進程號為O的節點上發送束線號、炮排號,在其他進程號的節點上接收束線號、炮排號,調用數據切割子程序,得到該節點上正演的排列片的模型數據;
[0014]f調用單個排列片的正演子程序,通過炮線號和炮點號的循環確定炮點位置,施加震源,完成單個排列片內所有炮點的正演;
[0015]g確定采樣點數,進行時間循環,做單炮的波場正演計算,各進程輸出信息,信息包括炮記錄與波場快照;
[0016]h判斷單炮時間循環是否結束,若結束輸出炮記錄,若未結束繼續執行步驟g,完成單炮的計算;
[0017]i判斷炮點循環、炮線循環是否結束,若未結束繼續執行步驟f,進行單個排列片內的炮點炮線循環,做下一炮的計算,若結束執行步驟j ;
[0018]j調用MPI_Finalize退出MPI,結束程序。
[0019]上述步驟a中,在建模時,先按排列片進行模型速度體數據的分割,切割后的速度輸入數據體(VPO)和輸出的炮記錄數據體(PR0FILE3D),采用數組傳送;數組傳送采用的子程序是:
[0020]SUBROUTINE M0DEL_0NE_PATCH (VPO, PR0FILE3D, LSL, LS, SXO, SYO, SZ, VX, VY, &IC, ISG, VZ, PX, PY, PZ, P, WT, NX, NY, NZ, DX, DY, DZ, NT, PML, DT, NWT, NSL, &F0, NS, VP)
[0021]其中VPO,PR0FILE3D是要傳送的三維數據,其他為計算參數和中間數組。
[0022]本發明具有以下有益技術效果:
[0023]本發明通過基于排列片的數據分割策略,實現了模型三維正演模擬的并行計算方法,較傳統的炮記錄并行方式,可大大提高基于三維觀測系統模擬的計算效率,經初步驗證切實可行。
【專利附圖】
【附圖說明】
[0024]下面結合附圖與【具體實施方式】對本發明作更進一步的說明:
[0025]圖1為說明本發明所引入的某工區三維觀測系統示意圖。
[0026]圖2為說明本發明所引入的某工區三維采集施工示意圖。
[0027]圖3為本發明中的一種按排列片的數據分割策略示意圖。
[0028]圖4為本發明一種實施方式的流程示意圖。
[0029]圖5為說明本發明所引入的一種三維溶洞模型示意圖。
[0030]圖6為說明本發明所引入的某工區滿覆蓋次數分布范圍圖。
[0031]圖7為本發明的一種正演模擬結果圖,示出的是第3束線第90炮炮記錄。
[0032]圖8為本發明的一種正演模擬結果圖,示出的是第7束線第90炮炮記錄。
[0033]圖9為本發明所得的一種三維偏移結果圖。
【具體實施方式】
[0034]一種基于三維觀測系統排列片數據分割的正演模擬方法,在各節點上進行排列片的放炮和數據接收;首先設計模型及三維觀測系統,然后在主節點傳送束線號和排列片號,其他節點接收到束線號和排列片號后,先調用模型數據切割函數得到該排列片所對應的模型數據,再調用三維有限差分正演函數,進行波場計算,在該函數內加入炮排及炮點號的循環以實現單個排列片內多炮或多炮線的正演。
[0035]本發明的基本原理是:
[0036]三維正演模擬時,從非均勻各向同性介質三維波動方程出發,采用應用比較廣泛的帶PML吸收邊界條件的交錯網格高階有限差分格式,這樣可有效壓制數值頻散,具有較高的模擬精度和穩定性,其原理在此不作贅述。
[0037]圖1所示的是一種三維觀測系統,設有NSL個炮排(圖中示意給出了兩個炮排),每個炮排有NS個炮點;接收排列個數為NRL,每個排列接收點為NR道。地震資料三維采集按束線進行施工,每束線按排列面進行滾動,從而實現對全區資料的采集。采集施工示意圖見圖2,共NC束線,NSG個滾動炮排。
[0038]根據實際資料采集方式,每個排列面要放很多炮,數值模擬時,不宜按炮并行,因為排列片內炮數很多,會增加模型速度數據和炮集數據傳輸的次數,大大影響計算效率。為此采用基于排列片數據分割的并行數值模擬計算策略。
[0039]設IC為束線號,ISG為炮排滾動號,則排列片序號可記為(IC-1) *NSG+ISG。為此,我們可以按排列片進行數據分割,共分出NC*NSG個排列面。這些排列片的數據,可以將它們均衡分配給N個計算節點,結合圖3。而排列及接收點波場則由正演波場抽取,排列片內所有炮在一個節點內計算完。每個排列片,分割輸入模型數據和輸出炮集數據只傳送一次。
[0040]結合圖4,上述基于三維觀測系統排列片數據分割的正演模擬方法,包括如下具體步驟:
[0041]a設計模型設計時,應根據實際地質問題,設計地層界面、斷層或溶洞、裂縫等地質體,并設置這些地質體的速度,建立起對應的三維速度模型;進一步地,對于一些特殊地質問題還可以進一步設計對應的密度數據體;
[0042]b設計三維觀測系統,確定接收線數、道間距、炮線數、炮點數、炮檢距、縱向及橫向滾動次數等參數,并根據這些參數確定單個排列片數據和整個正演模型數據的大小;
[0043]c調用MPI_Init并行語句啟動MPI,形成通信集MPI_Comm_World,調用MPI_Comm_size和MPI_Comm_rank獲取進程總數和進程序號;
[0044]d讀取參數文件,包括模型文件名、單個排列片大小、網格大小、第一炮點位置、采樣點、采樣間隔、炮線數、炮點數、束線號、炮排號、道距、炮距、接收線距、炮線距與束間距;
[0045]e在進程號為O的節點上發送束線號、炮排號,在其他進程號的節點上接收束線號、炮排號,調用數據切割子程序,得到該節點上正演的排列片的模型數據;
[0046]f調用單個排列片的正演子程序,通過炮線號和炮點號的循環確定炮點位置,施加震源,完成單個排列片內所有炮點的正演;
[0047]g確定采樣點數,進行時間循環,做單炮的波場正演計算,各進程輸出炮記錄與波場快照等信息;
[0048]h判斷單炮時間循環是否結束,若結束輸出炮記錄,若未結束繼續執行步驟g,完成單炮的計算;
[0049]i判斷炮點循環、炮線循環是否結束,若未結束繼續執行步驟f,進行單個排列片內的炮點炮線循環,做下一炮的計算,若結束執行步驟j ;
[0050]j調用MPI_Finalize退出MPI,結束程序。
[0051]本發明采用大數據傳送策略,即:建模時,先按排列片進行模型速度體數據的分害I],切割后的速度輸入數據體(VPO)和輸出的炮記錄數據體(PR0FILE3D),采用數組傳送,而不采用MPI_SEND消息發送和MPI_RECV消息接收實現,這樣可以大大提高大數據的傳送效率。以下是子程序中大數據的傳送方式,其中VP0,PR0FILE3D是要傳送的三維數據,其他為計算參數和中間數組。
[0052]SUBROUTINE M0DEL_0NE_PATCH (VPO, PR0FILE3D, LSL, LS, SXO, SYO, SZ, VX, VY, &IC, ISG, VZ, PX, PY, PZ, P, WT, NX, NY, NZ, DX, DY, DZ, NT, PML, DT, NWT, NSL, &F0, NS, VP)
[0053]為了更好地理解及驗證本發明,下面介紹一個實驗例子。
[0054](I)我們用以下模型為例,進行了三維正演模擬測試。圖5是一個三維溶洞模型即解決溶洞型儲層地質問題的三維模型,圖6是正演所采用觀測系統及覆蓋次數的分布情況。
[0055]模型大小為193*293*201個樣點。圖5左側給出的是溶洞處的切片分布,Inline60上自下而上五個洞大小分別為10m, 20m, 30m, 40m, 60m, Inlinel20上五個洞大小均為20m,溶洞深度800m。圖5右側給出的是縱向剖面分布,圖中給出了三層介質的速度參數值。正演網格為10m*10m*10m,子波主頻35Hz,采樣點2001,采樣間隔0.5ms,單個排列片大小為30*119*201 個樣點。
[0056](2)觀測系統
[0057]觀測系統:6線9炮
[0058]炮間距:20m
[0059]炮線距:60m
[0060]檢波點距:20m
[0061]接收線距:60m
[0062]覆蓋次數:30(BinlO),120 (Bin20),480 (Bin40)
[0063]總線束數:10
[0064]總激發線數:30
[0065]總激發點數:2700
[0066]總接收線數:33
[0067]總接收點數:4851
[0068](3)單炮結果
[0069]圖7、圖8為單炮的正演模擬結果,每炮有6條接收線,最上面和最下面的同相軸為上下兩個水平界面的反射波,中間的同相軸為溶洞所形成的繞射波。單個排列片的計算時間平均約為24000秒,若計算節點足夠多,則完成整個觀測系統的正演計算也只需要24000秒。
[0070](4)三維偏移結果
[0071]在得到炮數據后,我們做了三維克希霍夫疊前時間偏移,得到了三維偏移數據體如圖9,溶洞繞射波收斂成串珠狀。
[0072]上述方式中未述及的有關技術內容采取或借鑒已有技術即可實現。
[0073]需要說明的是,在本說明書的教導下本領域技術人員還可以做出這樣或那樣的容易變化方式,諸如等同方式,或明顯變形方式。上述的變化方式均應在本發明的保護范圍之內。
【權利要求】
1.一種基于三維觀測系統排列片數據分割的正演模擬方法,其特征在于:在各節點上進行排列片的放炮和數據接收;首先設計模型及三維觀測系統,然后在主節點傳送束線號和排列片號,其他節點接收到束線號和排列片號后,先調用模型數據切割函數得到該排列片所對應的模型數據,再調用三維有限差分正演函數,進行波場計算,在該函數內加入炮排及炮點號的循環以實現單個排列片內多炮或多炮線的正演。
2.根據權利要求1所述的基于三維觀測系統排列片數據分割的正演模擬方法,其特征在于還包括如下具體步驟: a設計模型時,根據實際地質問題,設計地質體,地質體包括地層界面、斷層或溶洞、裂縫,并設置這些地質體的速度,建立起對應的三維速度模型; b設計三維觀測系統,確定參數,參數包括接收線數、道間距、炮線數、炮點數、炮檢距、縱向及橫向滾動次數,并根據這些參數確定單個排列片數據和整個正演模型數據的大小;c調用MPI_Init并行語句啟動MPI,形成通信集MPI_Comm_World,調用MPI_Comm_size和MPI_Comm_rank獲取進程總數和進程序號; d讀取參數文件,包括模型文件名、單個排列片大小、網格大小、第一炮點位置、采樣點、采樣間隔、炮線數、炮點數、束線號、炮排號、道距、炮距、接收線距、炮線距與束間距; e在進程號為O的節點上發送束線號、炮排號,在其他進程號的節點上接收束線號、炮排號,調用數據切割子程序,得到該節點上正演的排列片的模型數據; f調用單個排列片的正演子程序,通過炮線號和炮點號的循環確定炮點位置,施加震源,完成單個排列片內所有炮點的正演; g確定采樣點數,進行時間循環,做單炮的波場正演計算,各進程輸出信息,信息包括炮記錄與波場快照; h判斷單炮時間循環是否結束,若結束輸出炮記錄,若未結束繼續執行步驟g,完成單炮的計算; i判斷炮點循環、炮線循環是否結束,若未結束繼續執行步驟f,進行單個排列片內的炮點炮線循環,做下一炮的計算,若結束執行步驟j ;j調用MPI_Finalize退出MPI,結束程序。
3.根據權利要求2所述的基于三維觀測系統排列片數據分割的正演模擬方法,其特征在于:在步驟a中,對于一些特殊地質問題還可以進一步設計對應的密度數據體。
4.根據權利要求2所述的基于三維觀測系統排列片數據分割的正演模擬方法,其特征在于:上述步驟a中,在建模時,先按排列片進行模型速度體數據的分割,切割后的速度輸入數據體(VPO)和輸出的炮記錄數據體(PROFILE3D),采用數組傳送;數組傳送采用的子程序是:
SUBROUTINE M0DEL_0NE_PATCH(VP0, PR0FILE3D, LSL, LS, SXO, SYO, SZ, VX, VY, &IC, I SG, VZ, PX, PY, PZ, P, WT, NX, NY, NZ, DX, DY, DZ, NT, PML, DT, NWT, NSL, &F0, NS, VP) 其中VPO,PR0FILE3D是要傳送的三維數據,其他為計算參數和中間數組。
【文檔編號】G01V1/30GK104050359SQ201410239531
【公開日】2014年9月17日 申請日期:2014年5月30日 優先權日:2014年5月30日
【發明者】張軍華, 吳成, 李軍, 張在金, 黃廣譚, 肖文, 張明, 張秋, 范騰騰, 李宇航 申請人:中國石油大學(華東)