icem網格數和節點數 不用畫網格的CFD?真香

2021-10-13 22:24:36 字數 2869 閱讀 1776

記得三年前,有乙個研究生來我們公司面試,面試官讓他談談對於powerflow的認識,這個小夥子說「powerflow是新一代無網格cfd工具。」話音剛落,我們的技術總監就笑了,他說「我們從來都不是無網格的cfd工具,我們只是全自動生成體網格的cfd工具。」

劃網格的痛苦歷歷在目:相信絕大部分的cfder在學校或者工作中接觸的傳統cfd工具都需要經歷痛苦的前處理過程,從三維模型的簡化開始,抽取流場域、面網格、體網格、邊界層加密、調整網格質量,歷經千辛萬苦最終得到自己想要的網格。如果運氣不好,你做的那個計算必須使用結構化網格,那就更痛苦了。筆者在學校念書的時候曾經畫過汽輪機抽汽系統的結構化網格,兩個不規則形狀之間插著無數的小管,我到如今還記得o網格套著o網格,還有c網格和h網格。

「苦海,翻起愛恨;在世間,難逃避命運。」

不經意間命運已改變:如果使用過powerflow或者其他某些lbm(格仔玻爾茲曼方法)工具的朋友會發現,在具體使用的過程中,和傳統方法最大的區別就是不需要再手動畫體網格了。特別對於powerflow,我們只需要將幾何模型轉化成三角形的面網格(nas或stl格式),然後將該面網格匯入軟體即可設定邊界條件進行cfd計算。

我們前面說到powerflow的計算仍然是需要體網格,只是軟體會全自動生成,即在提交計算的時候,求解器會自動進行空間離散,生成體網格,其網格就是標準的正六面體網格,是所有cfder心中夢寐以求的網格形狀。

眾望所歸的正交網格:大家應該還記得,我們在前面的文章中說過,lbm是玻爾茲曼方程在空間中的離散格式,因為實際粒子的運動方向有無數個,我們只有將速度方向離散為有限的個數才能進行數值計算。當然,離散格式並不唯一,下圖展示了在二維平面上,兩種不同的離散格式。大家可以想象,在自然選擇過程中,更加適合數值實現的前一種square lattice便成為了如今lbm的主流。談到lbm的主流,值得一提的是,lbm是少有的華人佔主力地位的領域,作為乙個晚輩,深感驕傲。不敢蹭各位大神的熱度,謹以此勉勵自己吧。

如何解決網格的過渡問題:確定好了以標準的正六面體作為我們的網格之後,細心的讀者可能會問兩個問題。因為在實際的計算過程中,在流場中的不同區域,需要不同尺度的網格,也就是我們常說的網格疏密。如下圖所示,我們可以看到網格尺寸從內向外逐級增大,且相鄰兩級之間的網格尺寸比例是1:2,如果把區域性的網格放大顯示的話,我們會更加清楚的看到網格尺寸的變化。相信很多讀者發現了乙個小問題,level2和level1的網格並非一一對應的。那求解的時候該如何處理呢?

不知道大家還記不記得,我們在之前的文章中介紹過lbm是如何描述粒子在時域上運動的。我們可以設想一下,如果乙個粒子以速度u在level2的網格上運動,從乙個節點到另外乙個節點所需要的時間為t,那麼該粒子如果運動到了level1的網格上,則需要2倍的t才能從乙個節點運動到下乙個節點。所以,在實際的求解過程中,level2每計算兩次,level1才進行一次計算。

何為等效網格量:綜上所述,流場中很多稀疏的網格需要間隔很久才會進行一次計算啊。所以,大家在使用lbm方法做計算的時候,除了要關心網格總量,還要關注另外乙個「等效網格數」的概念,它才是真正影響計算量的引數,因為「等效網格數」把流場中不同尺度的網格全部換算成了等級最高的網格尺度。看完這篇文章之後,大家記得去看看你的離散檔案,對比一下總網格數和等效網格數的值,看看它們之間是如何換算的。

如何處理壁面:相信讀者關心的另外乙個問題則是關於壁面,遠離壁面的區域當然可以使用正六面體,並通過2倍的關係逐級變化網格尺度。但是壁面畢竟是不規則的,如何劃分正六面體的網格呢。大家先看看下面這個示意圖吧。大家是不是已經明白了,就是使用體網格和壁面的三角形網格直接相交,生成一套全新的用於實際計算的面網格,既保證了幾何的形狀,又實現了體網格和面網格之間的對應。

壁面碰撞模擬:既然提到了壁面,想必大家已經迫不及待地想要知道,咱們的粒子到底是怎麼和壁面相互作用的?下面這幅示意圖展示了粒子和壁面碰撞的過程,是不是看上去也很簡單?不過第三步提到的施加壁面碰撞條件是啥意思呢?

我們設想乙個小球碰到壁面的常規情況,通常有兩種結局:option a是光滑壁面,哧溜一下滑出去,表現為鏡面反射,小球只改變了法向的速度;option b是標準壁面,硬生生給懟回來,表現為原路返回,小球的切向和法向速度均被改變。

又見壁面函式:對於雷諾數相對低的流動,我們可以在壁面附近布置比較密的網格,通過標準壁面的方式直接模擬粒子和壁面的碰撞,相應的邊界層內流動也是直接求解的。對於高雷諾數的流動,雖然我們也可以在壁面附近加密網格,直接進行數值求解,但是這樣會導致計算量的急劇增加。那有沒有什麼兩全其美的辦法呢?

相信聰明的你已經想到了,就是使用壁面函式啦。下篇文章將為您帶來邊界層與壁面函式的分享。

icem網格數和節點數 icem如何檢視網格數量

減少總塊數,加速求解關鍵 統一索引 y j 索引 空間 索引 空間 x i 結構網格的索引與合併 icem中 塊的合併 autodyn中 網格的合併 結構網格的索引與合併 索引.網格的索引合併 減少總塊數,加速求解關鍵 統一索引 y j 索引 空間 索引 空間 x i 結構網格的索引與合併 icem...

字元數和標點數 Python

補充程式,分別輸出字串s中漢字和標點符號的個數。s 學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?人不知而不慍,不亦君子乎?n 0 漢字個數 m 0 標點符號個數 在這裡補充 可以多行 print 字元數為 標點符號數為 format n,m 方法1 s 學而時習之,不亦說乎?有朋自遠方來,不亦樂乎...

資料結構之節點數與邊數的計算 複習筆記

1 二叉樹的基本概念 二叉樹是n n 0 個具有相同型別的資料元素的有限集合 1 當n 0時為空二叉樹 2 當n 0時,資料元素分為 乙個稱為根的資料元素和兩棵分別稱為左子樹和右子樹的資料元素的集合,左 右子樹互不相交,並且他們也都是二叉樹。2 滿二叉樹 深度為k且含含有2k 12 k 1 2k 1...