并行CFD:至少你應該膜拜 Metis 和 Scotch
2017-03-12 by:CAE仿真在線 來源:互聯網
CFD在進行并行計算的情況下可以分為不同的方法,在采用網格分解(Partitioning)并行計算的情況下,計算的效率取決于負載均衡以及網格單元的分布 。
網格分解的好壞直接影響處理器之間的信息交換,不同的網格分解方法可以將子網格最優化以加速并行效率。
目前較為流行的分區外掛包主要有:Metis,ParMetis,Scotch,PTScotch,Zoltan等。
如ANSYS Fluent可采用Bisection以及Metis網格分解方式,OpenFOAM可采用Scotch及PTScotch分解方式。
各種不同的網格分解方法實際上有什么不同呢?
首先我們看原始網格:

來源于:Z. Shang - Impact of mesh partitioning methods in CFD for large scale parallel computing,潛艇幾何和網格
在這個算例中雷諾數為3.89e7,整個計算域的高度為潛艇的5倍長,長度為潛艇的12倍長,湍流采用3Dk-epsilon模型,網格單元為四面體和棱柱,近壁y+平均為30。
下面是使用不同的網個分解方式分解后的網格:


來源于:Z. Shang - Impact of mesh partitioning methods in CFD for large scale parallel computing,不同網格分解方法分解后的子網格系統
很明顯,對比較為簡單的網格分解方式如Simple和SFC方法,網格分解后的網格區別很大,并且每個求解器的網格并不連貫較為分散。
對于Metis和Scotch網格分解方法,結果大體一致,且同一個處理器處理的網格彼此相連。
對于簡單的網格分解方式,導致這種問題的可能在于這些基于幾何的分解方式很難處理四面體網格以及棱柱網格夾雜的混合網格。
我們再看另一篇文章中采用Metis和Scotch網格分解方法分解的網格:

來源于:P. Sidlof et al - Parallel CFD simulation of flow in a 3D model of vibrating human vocal folds,采用Scotch(左)和Metis(右)對射流計算域分解的網格
可以看出Metic和Scotch的結果大體相同,且網格單元分散均一。
那么到底這些不同的網格分解方法對求解速度有什么影響呢?

來源于:Z. Shang - Impact of mesh partitioning methods in CFD for large scale parallel computing,不同網格分解方法計算后的效率增加
可以看出對于簡單的SFC方法,并行效率非常的低,對于較為高級的Metis,Scotch等分解方法,并行計算大大增加了計算效率。其中ParMetis的計算效率達到最高(30倍)。
相關標簽搜索:并行CFD:至少你應該膜拜 Metis 和 Scotch Fluent培訓 Fluent流體培訓 Fluent軟件培訓 fluent技術教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學反應 fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析