并行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电磁分析