2022-09-23|閱讀時間 ‧ 約 4 分鐘

[求解]-求解失敗的可能原因

其實說起來是模型,網格,問題本身任何一個地方出了問題都會導致求解失敗。 而失敗有兩種,一個是建模錯誤導致Error,那就連開始都沒辦法,另一種就是常見的迭代發散,發散又分震盪發散,或是一開始就突破天際的發散。 至於為什麼分類到求解,因為我們總是到求解階段才會發現。

建模
  • 模型干涉- 如果不是刻意的,那麼最好還是避免,以免和你想像的不一樣。
  • 優先度- 的確是可以刻意干涉來創造一些效果,那麼就要再三確認優先度,以免風孔變實心,塑膠變金屬。
  • Assembly intersection- 在Icepak中,如果啟用mesh seperately,這點將會直接導致錯誤,而無法求解。
  • Plane object- 在Icepak中,2D物件如果貼齊assembly的面上,常常會造成不想要的效果,像是風穿透牆壁,或是PCB top 熱源消失等問題。
  • PQ curve- 這裡要注意的點有兩個,一個是請務必化簡成單調遞減,不然很可能會被困在反曲點附近來回震盪。另一個是,那個該死的單位,我曾經花了兩個月才發現那人卻在燈火闌珊處。廠商很貼心,圖上常常有兩種單位,自己小心。

網格
  • 網格品質- 在Icepak中,至少,確保Face alignment/ Skewness在0.1以上
  • Mesh bleed out- 在某些地方,網格透過global setting而加密,但卻沒有被限制,導致加密區漏出,一來增加不必要網格,一來惡化縱橫比,應該避免。
  • Assembly misalignment- 在Icepak中Assembly會被視為獨立物件,因此兩個過於靠近的assembly可能會造成不必要的空隙,導致縫隙產生過細網格。能遠點就遠點,不能遠點就貼齊。
  • 上風處網格 (upwind mesh)- 在如風扇或是散熱片這種物件,除了對內部加密以外,常常對於上風處也是有要求的,延伸多少有彈性,但不能為0
  • 疏密區變化率過大

實用技巧
  • 有時候因為流場變化劇烈導致的難以收斂,可以考慮調整under-relaxation,概念上就是讓迭代更新不要衝太快,值則代表乘上的係數,例如壓力本身就容易震盪,Icepak中default就設定成0.3,那就是限制迭代更新P2=P1+0.3xΔP。 至於該調整哪一項,具體就要看殘值曲線哪一個部分震盪大來去抑制哪一條。 Pressure代表抑制連續方程式 Momentum代表抑制x,y,z速度分量 Temperature代表抑制能量方程式 Turbukent kinetic energy代表抑制k-ɛ /k-ω方程式的k項 Turbulent/Specific dissipation rate代表抑制 ɛ/ω
  • 在 Debug時候,快速是一個重點,因此按部就班很重要。例如我們要測mesh有沒有問題,那我們可以把紊流方程式和能量方程式都關掉,加快迭代速度,而如果順利還可以做為下一階段的初始值輸入,不虧。因此我個人的流程都是: Flow only (Zero eqn) -Flow only (Turbulent+2eqn)-Temperature active
  • Icepak mesh 中的 Concurrency 代表網格生成的平行運算,取決於你電腦核心數或mesh assembly seperately數較低的那個值。
  • group by name/pattern 在更改同種但多顆類型的物件時相當方便 (pattern rule: fan*代表 start with fan, fan?代表 consist of fan)
  • Dummy object(無細節物件) / Hollow mesh(不生成網格) 在debug階段都是很方便用來減少網格,加快試誤的方法。

分享至
成為作者繼續創作的動力吧!
和CFD相關的東西放這裡
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言