基於積分方程電磁場解答器的適應性網格細分演算法如下:
ADAPTIVE-MESH-REFINEMENT(G)
Parameter definition:
G: geometry definition of a refined structure Function definition:
GENERATE-MESH(G): generate mesh according a geometry definition G
SOLVE-CURRENT(M): solve current distribution using MOM according a mesh M and return the current distribution
REFINE-MESH(M, I): refine a mesh M according the current distribution I.
1 M ← GENERATE-MESH(G) 2 I ← SOLVE-CURRENT(M) 3 while not reaching criterion
4 do M ← REFINEMENT-MESH(M, I) 選擇;2.2 節介紹一個生成三角形網格的方法—Delaunay三角形分割法;為了快 速而有效率地修正網格,必須有快而有效的方法來解電場積分方程,這部分在2.3 節介紹;2.4 探討針對力差法解電場積分方程的應用時,網格的需求;最後,2.5 節紹數種主要的網格細分技術和其優缺點。
Generate initial mesh
Solve EFIE by MOM
Satisfy criteria or converge?
No
Yes Refine mesh
End
圖 5-1:適應性網格細分的流程
2.1 網格形狀的選擇
關於二維平面上的網格形狀,主要常用的有矩形和三角形兩種形狀,都各有 許多演算法可以生成這兩種網格。我們選擇使用三角形,主要是因為在調整網格 時,三角形的形變對於網格大小的劇烈改變較不敏感[8]。而且,三角形很有彈性,
描述複雜幾何結構和邊界相對比矩型容易[18]。若使用矩形網格描述複雜的結構 和邊界,可能在邊界產生太多不必要的小網格。基於以上理由,針對力差法解電 場積分方程的應用,三角形是比較理想的選擇。生成三角形網格的方法很多,關 於這些方法的介紹可以參考[8],其中,我們選擇Delaunay三角形分割法來生成三 角形網格。在下一節,我們會介紹Delaunay三角形分割法。
2.2 Delaunay 三角形分割法
Delaunay三角形分割法可以應用在任意形狀二維結構的網格分割。Delaunay 三角形分割中,所有的三角形網格都要符合Delaunay條件,即任意三角形網格的 外接圓內不存在其他不屬於此三角形的節點,如圖 5-2所示。這種方法能夠針對 一組給定的節點和邊界產生最佳化的三角形網格。
(a) (b)
圖 5-2:(a)非 Delaunay 三角形分割 (b)Delaunay 三角形分割
有許多演算法可以產生Delaunay三角形分割,包含sweepline, incremental construction,和divide and conquer。在這些演算法中,divide and conquer 是最快的方法,而incremenral construction是最慢的。以上幾種生成Delaunay 三角形的方法,在[20][21][22]中,有更詳細比較和討論。另外,執行時間的比 較可以參考[3],Shewchuk用同樣的資料結構,實作這些不同的演算法,並實際執 行以比較其效能。
divide and conquer 是最佳的 Delaunay 三角形分割演算法,若能搭配有效率
的資料結構和資料存取的方式,理論上,時間複雜度可達 ,其中 n 為節
點的數量。我們以 divide and conquer Delaunay 三角形分割法為主,加上一點 修改,以符合力差法電磁模擬應用的需求,實作自動化網格生成和局部網格修正 即可得到電流分佈。矩陣方程式可以用高斯消去法(Guass elimination)或迭代法 (iterative method)求解,前者適用於未知數不多的小問題。未知數很多的大問 題通常用迭代法求解,因為迭代法結合一些快速演算法,如快速多極法(fast multipole method,簡稱FMM),可降低時間複雜度[11]。
FMM 與傳統的力差法不同點在於,傳統的力差法必須計算所有電流基底函數之
利用力差法解電場積分方程式會得到一個矩陣方程式如下:
(non-block-diagonal terms), 為遠交互作用項(far-interaction terms)。 Z0 Z1
由於 為方塊對角矩陣(block diagonal matrix),可直接求其反矩陣,左右兩 邊乘上 得
遠交互作用(far-interaction) 矩陣中的的元素值遠小於於 與 中的元素 值,忽略遠交互作用(far-interaction)得
Z2 Z0 Z1
(low-frequency breakdown)[10]。除此之外,網格的分佈須均勻,相鄰的網格 間密度變化不能過度劇烈,解才會準確。
為了確保生成的網格符合以上條件,不論在生成初始網格或網格細分的過程 中,都必須檢查新產生的網格是否合乎以上條件。
2.5 網格細分的方法
網格細分的方法主要包含分解網格單元形成更小的單元(h-refinement),增 加基底函數的階層(p-refinement),以及移動節點位置(r-refinement)。其中,
分解網格單元形成更小的單元(h-refinement)是最容易實作的方法,能夠快速 能將元素分解成遠小於原始網格大小的元素,如果網格細分的過程中常常需要將 特定小區域(例如:奇異點發生的區域)分解成遠小於初始大小的網格,這是很 好的局部網格細分方法;但若需要細分成極小網格元素的網格區域很大,使用 h-refinement,可能要經過很多次的細分,解才能達到需要的準確度,另外,
h-refinement 細分過的網格往往不均勻,所形成網格元素的幾何品質亦較難維 持。相較於 h-refinement,r-refinement 最大的優點是可以不用增加網格節點的 數量,亦即不必增加計算力差法方程式的未知數數量,而達到使數值計算的解更 精確的目標。然而,大部分電磁模擬的應用的結構中,常常有電流突然劇烈的變 化的地方,在這些區域,利用 r-refinement 細分網格能增進解的準確性是很有限 的。因為,r-refinement 增進解的準確性的極限,被限制在初始節點的數量,如 果初始網格形成的時候,節點的數量本來就太少,或網格的大小原本就非常粗糙,
花再多時間去調整節點的位置,改變網格的形狀,頂多只是平衡全部解的誤差,
整體誤差還是很大。
如果要避免以上網格細分的方法的缺點,一個可能的作法是結合不同的方 法。在實作上,我們結合分解網格與節點的移動這兩種方法,對局部電流變化劇 烈區域的網格細分。在3.6 節中會詳述實作網格細分的步驟和流程。