CFD萌新入門|何謂網格?

本文描述網格的一些基礎概念。

網格是FEA和CFD模擬過程中的基本要素之一。

網格是由單元和或節點組成的網絡,其可以擁有幾乎任何形狀或尺寸,并用于求解偏微分方程。網格中的每個單元都代表方程的一個獨立解。

如果不將對象劃分成較小的部分, 由于對象內部的復雜性, 求解整個對象將是不可能的。孔洞、拐角和尖角等都會給求解帶來極大的困難。另一方面, 較小的單元相對更容易求解, 因此是首選策略。

1 什么是網格劃分?

網格劃分是一種在幾何體上生成二維或三維網格的方法,目的是將區域離散化,以便進行模擬分析。根據幾何體的復雜程度,網格的劃分方式也有所不同。

網格和網格劃分技術的發展歷程與數值方法的歷史緊密相連。Courant、Friedrichs 和 Lewy 的論文可以視為有限差分法(FDM)的基礎,其中引入了 CFL(Courant- Friedrichs- Lewy)穩定性條件等概念。

從歷史角度看,矩形網格和笛卡爾網格都與有限差分法有關,因為它依賴于相鄰單元和節點來近似變量的行為。然而,有限元法(FEM)允許使用混合網格單元類型,從而使非結構網格變得可行。使用變分法數值求解問題的歷史,可以追溯到 Rayleigh 和 Ritz 在 19 世紀末到 20 世紀初的研究工作。

1.1 網格離散

求解偏微分方程組(PDE)的第一步是對方程和問題域進行離散化。如前所述,直接求解整個問題域是困難的,而將問題域劃分為多個小塊進行求解則是可行的。

離散化過程與有限差分法、有限體積法(FVM)以及有限元法等方法密切相關,其目標是將連續形式的方程轉化為代數差分方程組。在進行域離散化時,會產生一組離散單元,從而也會形成覆蓋連續問題域的點或節點。

CFD萌新入門|何謂網格?的圖1
圖1 方形域離散化示例,其中每個小正方形代表一個單元及其頂點節點

網格,如其名,是由一組點和單元相互連接而構成的網絡。這個網絡可以擁有多種幾何形狀和拓撲結構。

在網格的每個單元或節點中,都會包含方程的局部解,具體取決于方程是在單元還是節點上進行離散化。離散化的選擇由具體項目決定。

通常情況下,當使用有限差分法來逼近方程時,會選擇點離散化,其中偏微分方程通常在每個點的鄰居處用泰勒級數展開來逼近。有時點離散化可以與有限體積法共同使用,但單元格必須在點周圍隱式地使用。

當需要離散的方程被認為是弱形式、積分形式或守恒形式時,通常會在離散單元上進行積分求解。如在考慮輸運現象時,有限體積法可以被表述為表示小體積的離散單元。通量可以通過這些單元進行平衡,同時假設解在它們內部是恒定的。

CFD萌新入門|何謂網格?的圖2
圖2 網格解示例。請注意,在求解一個完整單元格的方程時,單元格中的數值是恒定的。

2 網格類型

通常情況下,網格類型可以被劃分為兩大類:結構網格非結構網格。如前文所述,結構網格在歷史上與有限差分法密切相關。而有限體積法和有限元方法則允許采用更為通用的網格。

2.1 結構網格

結構網格,通常也被稱為 grid,其特點是網格結構和形成方式易于識別相鄰單元和點。這一特性源于結構網格通常應用于分析坐標系(如矩形、橢圓、球形等),形成規則的網格。

從程序設計的角度看,構成結構化網格的單元或點可以通過枚舉的方式進行列舉,進而對單元或點坐標進行鄰近查詢。

如下圖所示的網格,首先枚舉出第一個單元格以及左右邊界的前四個單元格。此網格是矩形網格的一個示例。為了說明獲取單元格鄰接關系的難易程度,我們可以清楚地看到,要從任意單元格中獲取右側的鄰接關系,問題就簡化為在枚舉單元格時求和。

同樣,任何單元格的頂端鄰接關系都是通過與單元格枚舉相加而得到的。這樣就可以將每個網格元素直接映射到數組或向量中,從而使計算變得更加簡便。

CFD萌新入門|何謂網格?的圖3
圖3 網格枚舉示例

任何曲線網格都可以映射到這樣的坐標和鄰接系統中。因此,從編程的角度來看,曲線網格和矩形網格在鄰接查詢方面幾乎沒有區別。

CFD萌新入門|何謂網格?的圖4
圖4 矩形網格與曲線(圓柱)網格之間的映射

結構網格也可以根據邊界擬合來進行定義。例如,笛卡爾網格適用于矩形邊界,圓柱網格適用于圓柱邊界。

此外,還可以采用混合邊界擬合的方式,利用多種不同的曲線或曲面來定義邊界。這包括任何類型的可參數化曲線和曲面,如樣條曲線和 NURBS(非均勻有理基樣條曲線)。在網格劃分算法中,會根據每條曲線或曲面需要創建的點數來確定在這些曲面上如何分布點,以及如何將相對的曲面連接起來。

CFD萌新入門|何謂網格?的圖5
圖5 可以對四個任意樣條線邊界進行結構網格劃分

2.2 Unstructured Meshes

非結構網格具有更強的通用性,能夠任意逼近任何幾何形狀。相對于結構網格,其坐標和連通性映射到矩陣元素中,非結構網格則需要特殊的數據結構,如鄰接矩陣、列表以及節點坐標列表。非結構網格的節點/單元編號可以是任意和稀疏的,因為它無需進行任何分析形式的鄰接查詢。

CFD萌新入門|何謂網格?的圖6
圖6 非結構網格及其鄰接表示例。顯然,單元之間的通信并不簡單,需要某種算法來存儲它們的信息

對于那些無法生成結構化網格的復雜幾何形狀,非結構化網格技術可以進行離散化處理。非結構網格的靈活特性允許在同一網格中使用和共存各種單元類型,從而可以得到更好的幾何擬合效果和整體網格質量。

根據維度,網格類型可以分為二維網格和三維網格。常見的二維網格類型包括三角形和四邊形,而常見的三維網格類型則有四面體和六面體,也可能包括金字塔和楔形。

這些單元類型有時被稱為有限元動物園,因為這些單元類型通常用于有限元格式。眾所周知,有限體積格式在使用單元類型方面更加靈活,有時允許使用任何類型的多邊形和多面體。

CFD萌新入門|何謂網格?的圖7
圖7 常見的二維和三維網格類型。所有類型自然都是非結構化的,而四面體和六面體可以是結構化網格的一部分

網格單元無需保形。不符合要求的網格是指出現懸掛節點的網格。這些節點通常出現在網格調整過程中。

CFD萌新入門|何謂網格?的圖8
圖8 帶有懸掛節點的二維網格。這些節點在動態網格劃分過程中很常見,會隨著流動梯度的變化而變化

3 網格自適應

網格自適應。由于非結構網格上的點和鄰接關系不遵循任何類型的全局結構,因此可以方便地添加或刪除網格單元和點。動態添加、刪除或移動網格單元和點的過程稱為網格自適應

根據問題的性質,需要采用網格適應技術來獲得精確的求解域,同時通過控制網格單元和節點的總體數量來降低計算成本。一般來說,所需的細化程度與誤差有關,而誤差是根據待解方程估算的。因此,誤差較大的區域最終會積累更多的網格單元。

網格細化通常分為幾種類型:

  • H 型細化
  • R 型細化
  • P 型細化
  • 以上類型的組合

3.1 網格細化和粗化 (H型)

網格細化,又稱為 H 型細化,是通過增加單元或點來減少局部特征邊長的一種技術。這種技術可以低成本地提高局部網格的分辨率,但同時也會增加需要求解的同步差分方程的數量,因為它增加了系統的自由度。

在非結構網格上進行細化非常簡單,因為只需要修改后單元的重新連接。然而,在結構網格上進行細化并不容易,因為添加單元格可能會破壞網格的規則性。因此,在使用自適應結構網格時,通常會允許不規則網格的存在。

CFD萌新入門|何謂網格?的圖9
圖9 H型網格細化示例,其中總面積(或體積)保持不變,但節點數有所增加
CFD萌新入門|何謂網格?的圖10
圖10 網格細化示例,該示例顯示了更精細的邊緣離散化,從而可以捕捉到更精確的模擬變量值

同樣,一般來說,網格細化技術允許網格粗化,可用于減少估計誤差非常小的區域的單元格數量。這樣可以更有效地利用計算能力,降低成本并縮短模擬時間。

3.2 網格移動 (R型)

網格移動或 R 型細化是通過網格單元和點的移動或位移來實現的。在這種情況下,單元和點的數量保持不變,而連接性有時也保持不變。

圖 11 顯示了一個 R 型網格細化過程的示例,該過程可能與沖擊波傳播問題有關。在解法變化較大的區域,網格分辨率會更高。這種網格細化技術有助于提高求解的精度和效率,因為它可以在不增加單元數量的情況下改善網格質量。

     
圖11 R型網格細化示例,其中總面積(或體積)保持不變,但節點數有所增加

3.3 其他網格自適應技術

其他常見的網格適應技術還包括 P 型細化和自適應網格重構。

P 型細化與有限元法有關,其主要思想是在保持相同網格數量的情況下,通過增加形函數的復雜度來提高網格的精度。這種技術可以在不增加計算成本的情況下提高求解的精度。

自適應重網格技術則是根據估計誤差生成新的網格,旨在獲得最佳的整體網格質量,同時減少使用的點數。然而,這種方法的缺點是創建新網格的開銷可能會很大。

為了更有效地利用這些技術,我們可以將它們組合使用。例如,R 型細化和 H 型細化的組合可以稱為 RH 型細化,其中節點既可以在網格上移動,也可以在網格上創建。這種組合技術可以在提高網格質量的同時,降低計算成本。

CFD萌新入門|何謂網格?的圖12

自適應網格細化示例。根據流動特性所需的細化程度,動態創建和銷毀單元

原文地址:https://www.simscale.com/docs/simwiki/preprocessing/what-is-a-mesh/。采用DeepL翻譯,文心一言負責文字潤色。最近很忙,沒時間準備干貨。


(完)

文章來源:CFD之道

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3