動網格除了前面講了很多的關於運動指定之外,另一個重要主題則為網格的更新。
在部件運動之后,不可避免的會造成網格形狀的變化,如若不對網格加以控制,在持續運動的過程中,則可能造成網格極度變形、歪曲率過大,甚至產生負體積。因此必須對發生變形的網格進行矯正。
Fluent主要提供了三種方式控制網格:
- Smoothing
- Layering
- Remeshing
本文關注Fluent中的Smoothing方法。
啟用Smoothing方法
Smoothing方法的啟用非常簡單,只需要在Dynamic Mesh中激活Smoothing
選項即可,如圖所示。
之后可進入Setting...
菜單項中進行參數設置。
Smoothing設置面板
Smoothing參數比較多,如圖所示。
其包含三種光順方法:
- Spring/Laplace/Boudary Layer
- Diffusion
- Linearly Elastic Solid
通常選擇: - 小幅度的網格運動,使用smoothing方法,此方法計算量較小
- 大幅度的網格運動,建議使用Diffusion方法,此方法可以提供較好的網格質量
- 對於存在旋轉運動的邊界,可以使用Linearly Elastic Solid方法,此方法計算量最大,但能夠提供更好的網格質量。
彈簧光順
彈簧光順(Spring)是最基礎的光順方法,也是Fluent默認使用的光順方法。
該方法的基本思路是將網格節點之間的連接線近似為彈簧,通過計算節點之間力平衡方程得到各節點光順后的位置。
\[\vec{F_{i}}=\sum_{j}^{n_i}{k_{ij}(\Delta\vec{x}_j-\Delta\vec{x}_i)} \]
式中\(\Delta \vec{x}_i\)及\(\Delta \vec{x}_j\)分別為節點i與節點j的位移。\(n_i\)為與節點i相連的節點數量;\(k_{ij}\)為節點i與節點j之間的彈簧剛度。
彈簧剛度可定義為:
\[k_{ij} = \frac{k_{fac}}{\sqrt{|\vec{x}_i-\vec{x}_j|}} \]
式中\(k_{fac}\)為Spring Constant Factor
,是一個需要用戶輸入的值。
當彈簧力達到平衡時,可計算得到:
\[\Delta \vec{x}_i^{m+1}=\frac{\sum_{j}^{n_i}{k_{ij}\Delta \vec{x}_j^m}}{\sum_{j}^{n_i}{k_{ij}}} \]
其中,m為迭代次數。
當節點i的位移計算得到之后,即可更新網格位置:
\[\vec{x}_{i}^{n+1}=\vec{x}_i^n+\Delta \vec{x}_i^{converged} \]
需要設置的參數包括:
Spring Constant Factor
:彈簧常數因子。該參數控制了擴散阻尼,參數取值范圍0~1,默認值為1。此參數越小,表示網格之間的阻尼越小,網格運動更容易擴散到更遠的節點。當邊界運動較為劇烈時,可適當減小此數值。Convergence Tolerance
:收斂精度。計算網格節點運動采用的是迭代法,這個迭代容差控制了迭代精度。默認值為0.001,通常不需要修改。Number of Iterations
:迭代次數。當迭代次數達到此設定值,停止迭代計算。默認值為20,通常不需要修改。
這三個參數決定了彈簧光順過程中網格節點的運動方式。
Elements
方式決定了更新的網格類型:Tri in Tri Zones
:只光順三角形或四面體網格Tri in Mixed Zones
:光順混合區域中的三角形或四面體網格
要點
對於彈簧光順方法:
- 光順方法並不會改變網格拓撲關系。意思是說,不管部件如何運動,網格節點之間的鏈接關系不會發生改變,網格的數量也不會變化。因此光順方法只適合於小幅度的運動。
- 可通過調整設置參數
Spring Contant Factor
來控制網格節點的運動幅度。當邊界運動幅度很大時,可適當降低該參數值,從而利用更多的網格節點運動來消減邊界運動造成的網格影響。 - 光順方法只要適用於三角形或四面體網格,雖然Fluent宣稱smoothing方法可以用於所有網格,但其實在其他類型的網格上,smoothing並不會得到好的結果。
更多關於CFD內容,可微信掃描下方二維碼關注微信公眾號。