【小白的CFD之旅】19 來自計算網格的困惑


經過一年的忙碌,終於又到了寒假時間,小白又滿狀態復活了。
這一年小白學了很多的課程,但是一年下來,小白卻感覺腦袋里沒留下什么東西,貌似什么東西都在考完試的那一剎那全還回給老師了。這一年學習之余,小白仍然堅持着做案例,做大量不同的案例,雖然有一些案例做起來並沒有太大的作用,但是至少可以熟練軟件操作過程。

最近小白對於網格產生了一些困惑,正巧的是中午在食堂吃飯的時候碰到了小牛師兄,這一學期忙着上課,有一陣子沒見着小牛師兄了。
“嘿,師兄,好久不見了耶”,小白上去打招呼。
“是啊小白,最近忙些啥子呢?”小牛師兄的眼神永遠那么犀利的盯着面前的那盤紅燒肉。
“上課啊,考試啊,整天學這些基礎理論也不知道后面用不用得到。唉呀媽呀終於結束了,終於可以安心做點事兒了。”小白很無奈的說。
“哈哈,這不是都學完了嘛,以后就會知道有沒有用了。對了,最近還在學CFD么?老藍還等着你接班呢,嘿嘿”。小牛師兄說。
“開什么玩笑哦,接班?接誰的班?我還沒入門呢,就我學的那點兒假把式,估計還得半年,等研二了再說吧。”小白心里有點發虛。

“不開玩笑了,說真的,到底學怎樣了?估計沒那么多時間留給你學習了,最近有新的項目來了,急需人手,我建議你跟老藍商量進組學習吧,這樣比較快。”小牛師兄放下筷子說道。
“恩,其實軟件操作、計算流程都掌握得差不多了,但是總覺得缺點什么,遇到新的問題也還是把握不住。就最近來說吧,就對於計算網格比較困惑,你說在計算的過程中,到底是網格質量重要還是網格數量重要?"小白問道。

“怎么會有這種問題呢,當然都重要啊”,小牛師兄說。
“那總有個優先級吧,比如說在為一個新的計算准備模型的時候,我是要優先考慮網格質量還是網格數量?雖然說很多時候網格數量多了網格質量也跟着變好,但是我那破電腦實在無法承受太多的計算網格,稍多一點就死機啊。那網格數量少了,計算結果還有用么?”小白問。

“其實很多時候,人們往往走入一個誤區,他們認為網格數量多就意味着計算精度的提高。但其實並非是這樣,對於變化梯度小的區域,你網格數量的增加對於計算精度的貢獻其實並不明顯,反而對於就計算時間的影響是顯而易見的。而網格質量,則在很大程度上會影響計算的精度以及計算收斂過程,要知道收斂過程是直接影響計算時間的,我個人的觀點,網格質量要比網格數量重要。高質量的計算網格,哪怕網格數量少點兒,但肯定不會影響計算趨勢,但如果網格質量很差,則出現錯誤計算結果的概率可就比較大了。”小牛師兄說。

“嗯,懂了,在保證計算網格質量的基礎上,再來根據計算機資源來考慮網格數量,對吧?”小白說。
“根骨不錯呀,騷年”,小牛師兄笑道。

“那問題又來了,網格數量要到什么程度才算合適呢?比如說我要考慮這食堂的環境質量,要畫多少網格才行呢?”小白接着問。
“這問題我沒法回答你。首先,你沒說你擁有的計算資源有多少。用筆記本和用巨型機,所能考慮的計算網格數量是很不一樣的。其次,你沒說你要考慮哪些問題。因為不同的物理模型和物理細節,對於網格的精密程度要求也是很不一樣的。再次,你也沒說你的計算時間有多少,一年的時間和一天的時間,所能接受的網格數量肯定有巨大的區別。但是我要說的是,在目前私人擁有的計算資源條件下,計算精度一般是與計算網格數量成正比的。也就是說,網格數量越多,計算精度越高。因此,如果計算時間充足,可以盡可能的提高網格數量。在工程上還有一種稱之為”網格獨立性“驗證的說法,就是為了說明這一問題。”小牛師兄說。

“什么叫網格獨立性?”小白很好奇的問。
“所謂的網格獨立性,只是一個近似的說法,實際的數值計算,絕對不可能做到網格獨立的。網格獨立性的做法是這樣的:做N套不同密度的計算網格,在相同的工況條件下進行計算,考慮相關物理量的變化率。當網格密度達到一定程度后,繼續增加網格密度對於計算結果的影響非常小,此時可以認為計算網格數量的增加對於計算結果的影響可以忽略,在后續的計算過程中,采用計算結果不再發生變化位置的計算網格數量作為網格數量基准。其實說白了就是在計算精度與計算時間之間進行一個折中而已。而這里所說的計算結果不再發生變化,也取決於個人的判斷,你覺得變化量在1%以內叫不變化,我也可以認為在5%以內叫不變化,自己確定,但是可以肯定的是,計算結果隨着網格數量的增加肯定會有變化的。你想,計算結果怎么可能與網格數量無關嘛。"小牛師兄說。

“網格獨立性驗證要求我們的計算網格疏密對計算結果的影響在可以接受的范圍之內,但是如果計算資源充足的話,的確可以再提高網格的數量以增加精度。但要記住的一點是:增加網格數量不一定能提高計算精度,但是高精度的計算結果一定來自於高密度的網格。說起來很拗口,你可以這樣思考,影響計算結果精度的因素除了計算網格之外還有很多,比如計算模型,邊界條件,初始條件,殘差標准等等,因此網格數量的增加不一定就能夠提高計算精度,但是如果網格數量過少,肯定得不到精確的計算結果。”

“那么問題來了,多少網格叫粗多少網格叫密呢?通常我們並不說某某模型需要多少網格,網格數量通常取決於你擁有的計算資源和時間資源。打個很簡單的比方,比如你要設計某個產品,設計周期是一個月,你利用CFD來幫助進行設計,如果你每一個模型的計算時間需要一周,那時間資源肯定不夠,你只能使用低密度的網格,每個計算時間在一天之內的網格模型來進行計算。或者你可以換用更高級的計算機,但一定要確保每個模型的計算時間不能超過一天。很簡單的道理對不對。”

“還有個很容易被忽略的問題,那就是網格的分布。初學者划分的網格常常是均勻分布的,這其實是一種資源浪費。要記住的一點是只有梯度大的區域才需要高密度的網格。在流場計算過程中,只有一些物理量變化劇烈的場合才需要更精細的網格。因此在划分網格之前就需要對流體域內流動特征有一個初略的估計,在物理量梯度大的區域布置更加細密的網格,這是一個很重要的網格划分規則。”

小白的總結

  • 一般情況下,網格質量必須得到保證,否則會影響計算收斂過程,甚至導致錯誤的計算結果。
  • 在保證網格質量的前提下,根據計算資源來考慮網格數量
  • 網格獨立性並非表示數值計算結果與計算網格數量無關,而只是在計算精度與計算網格數量之間的一個折衷
  • 增加網格數量不一定能提高計算精度,但是高精度的計算結果一定來自於高密度的網格
  • 梯度大的區域才需要划分更精細的網格,尺寸均勻的網格不一定是好的網格


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM