導航:首頁 > 源碼編譯 > 網格演算法的原理

網格演算法的原理

發布時間:2024-12-19 09:48:09

⑴ 什麼是網格演算法

網格化是解釋流程中構造成圖的比較重要的一步,演算法種類也比較多。在SMT中就列出了許多種演算法供選擇,當然每種演算法有自己的特點和適應性,所以在真正網格化操作時為了提高預測的精度需要選擇合適的演算法。如下為SMT中提供的幾種演算法簡單對比。

Collocated Cokriging
協克里金演算法
層位、斷層、網格、XYZ數據、層段屬性、鑽井分層(較好用於井數據與地震屬性匹配)

Cubic Spline
樣條插值
三維的層位、網格、斷層、XYZ數據

Flex Gridding
彈性網格化
層位、斷層、網格、XYZ數據、層段屬性、鑽井分層

Gradient Projection
梯度投影
二維、三維的層位、網格、斷層、等值線、XYZ數據(較好用於構造數據)

Inverse Distance to a Power
反距離加權
二維、三維的層位、網格、斷層、等值線、XYZ數據、層段屬性、鑽井分層(較好用於速度成圖)

Natural Neighbor
自然鄰點插值
XYZ數據、層段屬性、鑽井分層(較好用於非地震類數據)

Ordinary Kriging
普通克里金插值
XYZ數據、層段屬性、鑽井分層(較好用於滲透率成圖)

Simple Kriging
簡單克里金插值
XYZ數據、層段屬性、鑽井分層(較好用於滲透率成圖)

Universal Kriging
廣義克里金
XYZ數據、層段屬性、鑽井分層(較好用於滲透率圖件和有整體變化趨勢的數據)

這里對兩種演算法做個介紹:

1、SMT8.2版本中新出現的Flex Gridding 彈性網格化演算法

該演算法利用差分方程系統原理,產生的網格節點處數值需要滿足以下兩種原則:

. 內插面與實際數據產生的趨勢面一致或者很接近;

. 該面的RMS曲率值盡可能小。

如果在一個節點處應用每一種方程都計算差分的話,而且將鄰近點都考慮在內的話,其結果會形成一個組合,但越遠的點影響越弱、越不直接。因此,在計算時都假設鄰近節點為常數,每個方程就會得到一個網格數值。如此重復應用於其它節點處。這樣可以解決單個節點的問題,我們將方程稱為「調和器」。該方法產生的曲率面會趨於最小,而且逼近實際數據。

由於每個節點在進行調和濾波計算時都需要一個局部的調和器,網格節點多時就會有許多次迭代計算過程。迭代次數差不多為N的e次方(N為數據列/行數)。因此初始網格一般時非常小的。

2、Collocated Cokriging 協克里金插值

協克里金插值與克里金演算法原理基本一樣,都是通過差異比較來計算網格數值,同時產生方差圖,但是該方法假設事件都是多屬性的,可以利用第二種協數據(如層位)輔助第一種主數據進行稀疏數據點(如井控制點)的內插。

協克里金插值利用第二種協數據指導主數據的網格化,可以提高克里金插值的准確性。該演算法中斷層可以參與運算。在使用時用稀疏數據(如井數據)作為主數據,另外一種密集分布數據作為協數據。

在具體計算中網格點處主數據有值的地方都用主數據的值,如果網格點處沒有值時則用協數據作為輔助進行計算。並且會同時產生一個方差模型。

最終的協方差網格結果為主數據進行克里金插值,同時受協數據影響。

因此,如果主數據為密集分布的數據,計算產生的網格也會接近主數據。例如,數據中包括測井解釋的孔隙度數據(稀疏分布),從地震屬性中預測的偽孔隙度數據(密集分布)。數據單位是一致的,但來源可能不一樣。

對於這種情況下協克里金插值就是一種很好的網格演算法,還可以建立起振幅與孔隙度之間的關系。

在應用時有以下注意事項:

1)在主數據為稀疏分布,協數據偽密集分布時應用效果最好。

2)如果主數據與協數據之間有一定聯系的話效果最好。

3)數據類型最好一致。

⑵ 三角曲面求交的網格法

6.1.3.1 網格法的基本原理

由於三角曲面求交運算最終是三角形之間的求交運算,因此,我們在不能漏掉任何可能相交的三角形對的同時,要盡量排除不可能相交的三角形對。網格法的目的就是尋找可能相交的三角形對。該方法先將曲麵包圍盒的相交區域劃分成規則六面體格網,先找到與每個網格單元相交的三角形,再將每個單元內分別來自兩張曲面的三角形組成可能相交三角形對,再對可能相交三角形對進行求交運算。網格法的基本過程為:

(1)先在合適的坐標系下分別構造出兩張三角曲面的矩形包圍盒,求出兩個包圍盒的交作為新的包圍盒;

(2)然後將新包圍盒劃分成由若干規則六面體組成的格網;

(3)針對每個網格,分別從兩張曲面中找到與其相交的所有三角形,並組成可能相交的三角形對;

(4)對所有網格中的三角形對進行整理,刪除重復三角形對;

(5)對所有三角形對進行求交運算,計算出交線段;

(6)進行交線追蹤,獲得曲面交線。

6.1.3.2 格網的構建

為了方便,常常將兩張曲面的包圍盒的相交區域劃分成等尺寸的規則六面體格網。這樣,僅僅根據坐標就可以很方便地確定每個結點位於哪個網格內。

顯然,不與任何一個相同網格相交的兩個三角形是不可能相交的。網格法可以排除很多不相交的三角形對,也不會漏掉任何相交的三角形對。網格的大小是影響計算效率的關鍵。如果網格單元尺度太大,則會得到更多的可能相交三角形對,降低了不相交三角形對的排除效率;如果網格單元尺度太小,內存就會開銷增大,而且三角形與格網相交計算量也會增大。一般情況下,可以使網格邊長與三角網格的平均邊長相當。

6.1.3.3 三角形與格網的相交判斷

由於曲面上有數量眾多的三角形,如果直接判斷每個三角形與每個網格單元是否相交,則計算效率非常低。下面介紹一種判斷一個三角形與格網相交的方法,演算法思路如下:

(1)在格網所在坐標系下,將三角形與格網分別投影到xoy面上(圖6.3(a))。格網的投影為一個平面格網,而三角形的投影為三角形或一條線段。如果三角形的投影為線段,則選擇xoz或yoz為投影面。為了敘述簡便,這里只介紹在xoy面上的投影為三角形的情況。

(2)計算投影三角形的邊與平面網格線的交點,並計算過每個交點的xoy面的垂線與三角形的交點,將這些交點與三角形的頂點合並組成點集Ω。

(3)利用Ω中的點在xoy面上的投影坐標直接判斷每個點所在的格網單元(包括位於格網單元內部或邊界上),找到同屬一個格網單元內的點組成子集(一個點可以位於多個格網單元內)。

(4)針對每個Ω的子集Ф及投影所在的格網單元g(圖6.4(b)),將原三維格網中平面投影為g的所有格網單元組成列G。找到子集Φ中點的最小與最大z坐標,從最小到最大z坐標所跨越的G中的網格單元即為與該三角形有相交的格網單元。

(5)刪除由上述方法所得的重復記錄的格網單元,就可得到與該三角形相交的所有格網單元。

圖6.4 三角形與格網求交示意

6.1.3.4 網格法曲面求交演算法

網格法三角曲面求交演算法如下:

三維地質建模方法及程序實現

⑶ 技術分享|正交體網格生成演算法

在流體力學問題的求解過程中,有限元法或有限體積法通常需要將求解區域劃分為網格。體網格,作為一種用於劃分三維空間的網格,相較於表面網格,它覆蓋整個物體內部。體網格的生成方式多樣,包括四面體網格、六面體網格以及多面體網格,根據生成方法又可分為結構化與非結構化網格、貼體與非貼體網格等。

生成四面體網格常用的方法有Delaunay法和波前法。六面體網格生成演算法包括映射法、掃掠法和正交切割單元法(Cartesian cut-cell)。映射法和掃掠法適用於特定幾何模型,而正交切割單元法則具有較強的普適性,僅需輸入表面網格即可自動生成六面體為主的多面體網格。本文重點介紹正交切割單元法。

正交切割單元法要求輸入面網格滿足以下條件:純三角形、水密性、流形條件。演算法流程包括初始化、切割和細分,最終形成體網格,包含完全位於模型內部的單元與與表面相交的單元。體網格的數據結構由節點坐標列表、切割面列表和網格單元列表組成,切割面和網格單元分別存儲以避免數據重復。

在切割過程中,通過計算每條三角形邊與正方體平面的交點來生成節點列表,並將節點有序插入。之後,將生成的節點組裝成平面多邊形(切割面),存儲在列表中並記錄在對應的網格單元中。對於混合邊的處理,需要記錄其在平面上的交點和節點順序,避免重復計算。

為了展示正交切割單元法的成果,本研究使用自定義代碼生成了多面體網格,並將結果轉化為Paraview可讀格式。通過Paraview中的clip filter工具可視化模型內部單元的形狀和分布。由於未進行細分,顯示的僅為使用均勻背景網格切割得到的結果。

本文參考了相關文獻,包括Owen與Steven的「自動網格生成演算法簡介」、Aftosmis、Berger與Melton的「自適應立方體網格生成」以及Tao、M.等人的「Mandoline:任意三角形網格的魯棒切細胞生成」。

⑷ 什麼是網格搜索法如何用它來優化學習演算法

網格搜索法是指定參數值的一種窮舉搜索方法,通過將估計函數的參數通過交叉驗證的方法進行優化來得到最優的學習演算法。
即,將各個參數可能的取值進行排列組合,列出所有可能的組合結果生成「網格」。然後將各組合用於SVM訓練,並使用交叉驗證對表現進行評估。在擬合函數嘗試了所有的參數組合後,返回一個合適的分類器,自動調整至最佳參數組合,可以通過clf.best_params_獲得參數值

閱讀全文

與網格演算法的原理相關的資料

熱點內容
摩斯碼編譯器 瀏覽:377
python語言中item是什麼意思 瀏覽:621
創維健康雲電視怎麼安裝app 瀏覽:541
安卓加密日記本下載 瀏覽:644
阿里巴巴pdf 瀏覽:813
數據安全加密設備 瀏覽:469
win7vc編譯器哪個好 瀏覽:248
傳奇官網源碼 瀏覽:735
日交易金額最大的加密貨幣 瀏覽:817
汽車變速器轉速演算法 瀏覽:432
php使用redis隊列 瀏覽:685
安卓編程游戲 瀏覽:901
單片機p0p1p2p3 瀏覽:980
ora12545linux 瀏覽:844
有用戶名和密碼的加密軟體 瀏覽:388
蘑菇網頁伺服器怎麼用 瀏覽:802
賞金賽伺服器怎麼下載 瀏覽:728
mac解壓7z命令 瀏覽:563
壓縮2019年6月6日 瀏覽:751
命令hm 瀏覽:9