FLUENT 软件的多重网格并行算法及其性能.pdf_第1页
FLUENT 软件的多重网格并行算法及其性能.pdf_第2页
FLUENT 软件的多重网格并行算法及其性能.pdf_第3页
FLUENT 软件的多重网格并行算法及其性能.pdf_第4页
FLUENT 软件的多重网格并行算法及其性能.pdf_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2005Fluent中国用户大会论文集251FLUENT软件的多重网格并行算法及其性能余江洪1,朱宗柏1,2,肖金生1,3(1武汉理工大学材料复合新技术国家重点实验室,2现代教育技术中心,3汽车工程学院,湖北430070)摘要:FLUENT软件是目前国际上比较流行的通用CFD软件包,用于模拟从不可压缩到高度可压缩范围内的复杂流动,对大规模问题可用并行多重网格方法进行求解。为了找出FLUENT软件的最佳解题规模和并行粒度,以期最大限度地发挥软件和硬件的效能,对FLUENT软件采用的多重网格方法和区域分裂法进行了理论分析,通过反复实验,重点讨论了在并行求解过程中,采用不同的多重网格循环方法、区域网格分裂方法、解题的规模和计算节点数对并行性能的影响。FLUENT软件有良好的并行性能,PEMFuelCell模块可以进一步优化,HPCC还有很大的升级空间。关键词:燃料电池;多重网格;区域分裂;并行计算;FLUENTFLUENT软件是一种CFD(ComputationalFluidDynamics)求解器,它可以求解各种复杂流动,包括不可压缩流动(低亚音速)、弱可压流动(跨音速)和强压缩性问题(超音速)。1由于FLUENT软件有多种求解方法的选择,并且提供了多重网格方法来加快收敛速度,同时可以进行并行计算,因此它可以为速度范围很广的流动问题提供高效准确的最优求解方案。本文介绍了FLUENT软件的多重网格及并行算法,并测试、分析了其并行性能。1FLUENT软件中的多重网格方法多重网格方法(MGM:MultiGridMethod)是一种高效的串行数值计算方法。其基本思想是,利用粗网格上的残差校正特性消除迭代误差的低频分量(长波分量,即光滑误差),同时利用细网格上的松驰光滑特性消除迭代误差的高频部分(短波分量,即振荡误差),套迭代技术负责通过限制和插值算子连接所有网格层共同求解同一问题1234。多重网格循环可以定义为在每一个网格层面通过网格层次时在网格层面内应用的递归程序,该程序通过在当前层面完成单一网格循环来扩展到下一个粗糙网格层面。FLUENT软件中有四种多重网格循环:V、W、F以及灵活(Flexible)循环。V和W循环可以用在代数多重网格(AMG:AlgebraicMultiGrid)和全近似存储(FAS:Full-ApproximationStorage)多重网格中,F和灵活循环只限用于AMG方法。V循环如图1(a)所示,它包括:预松弛(1)限制V循环插值后松弛(3)W循环如图1(b)所示,它包括:预松弛(1)限制W循环W循环插值后松弛(3)F循环则是用W循环之后进行V循环来构成:余江洪(1977),男,湖北潜江人,武汉理工大学材料科学与工程学院硕士研究生湖北省自然科学基金项目(2003ABA088),教育部博士点基金项目(20030497012)资助。2005Fluent中国用户大会论文集252预松弛(1)限制W循环V循环插值后松弛(3)对于V和W循环,各个层面的转换由三个参数控制:1、2和3。1(有时称为预松弛扫描)用于指定在当前网格层面进行预松弛迭代的步数(在图1中用圆形表示),以减少误差(当地误差)的高频部分,在AMG方法中1的默认值是0(即:没有预松弛);2用于指定多重网格循环的类型,取值1和2分别对应V循环和W循环多重网格,可以减少粗网格的误差(在图1中用四边形表示);3(后松弛扫描)用于指定进行后松弛迭代的步数(在图1中用三角形表示),以减少在多重网格循环中产生的高频误差,在AMG方法中3的默认值是1,在FAS方法中3的默认值是0。Flexible循环使用粗化网格的计算由逻辑控制多重网格程序来实现。这一逻辑控制可以保证当前层面的网格的残差减小速度足够慢时就会调用较粗糙网格的计算。在当前粗糙网格层上的校正迭代解充分收敛而且因此应该转到下一层精细网格时,多重网格控制会做出适当的处理。Flexible循环和V、W循环之间的主要区别是:Flexible循环会通过残差减小的公差和终止判据的满足情况,来确定什么时候按什么样的频率来处理每一层网格,而V和W循环则明确定义了各个层面之间的转换模式。(a)V循环(b)W循环图1多重网格循环2FLUENT软件中的并行算法FLUENT软件的并行计算就是利用多个计算节点(处理器)同时进行计算。并行计算可将网格分割成多个子域,子域的数量是计算节点的整数倍(如8个子域可对应于1、2、4、8个计算节点)。每个子域(或子域的集合)就会“居住”在不同的计算节点上。除支持单机多CPU的并行计算外,FLUENT还支持网络分布式并行计算。FLUENT软件内置了MPI(MessagePassingInterface)并行机制,大幅提高了网络分布式并行计算的并行性能。在用FLUENT软件的并行求解器时,需要将网格细分割为几组单元,以便在分离处理器上求解。分割网格,需要选择生成网格的分割方法、设置分割数、选择区域和记录、以及所2005Fluent中国用户大会论文集253使用的优化方法等。并行程序的网格分割有三个主要目标:生成等数量单元的网格分割;使分割的接触面数最小(减小分割边界面积);使分割的邻域数最小。FLUENT软件里的分割格式是采用两分的原则来进行的,但不象其他格式那样需要分割数,它对分割数没有限制,对每个处理器都可以产生相同分割数(也就是分割总数是处理器数量的倍数)。FLUENT软件提供了多种方法进行网格分割。最有效的分割方法和求解的问题有关,可试用不同的方法,直至某一个适合所求解问题。并行计算的性能可以用加速比来表示,计算加速比的一般方法是:假设在一个处理器上运行一个程序,令T1为执行时间,然后在有P个节点的并行机(各节点的CPU与串行机中的CPU一样)上运行同样的程序,令TP为执行时间,则加速比S=T1/TP,并行效率=S/P5。3多重网格并行性能测试3.1测试环境硬件环境:高性能计算机集群(HPCC:HighPerformanceComputerCluster),主节点是DELLPOWEREDGE_2650,配置了1个IntelXeon2.8GHz/533MHzFSB的CPU、2G/DDR266的内存,集成千兆网卡,584G的SCSI硬盘,计算节点是DELLPOWEREDGE_1750,各配置了2个IntelXeon2.8GHz/533MHzFSB的CPU,2G/DDR266的内存,集成千兆网卡,73G的SCSI硬盘,主节点和计算节点信息交换通过千兆以太网交换机完成。软件环境:RedHatEnterpriseLinux3.0操作系统,FLUENT6.2.16的Linux并行版。3.2测试方案本文测试的是单直流道单电池模拟,质子交换膜燃料电池是FLUENT软件中默认的七层模型,即阴、阳极的集流板、扩散层和催化层,以及中间的质子交换膜。采用FLUENT软件中PEMFuelCell模块计算,利用FLUENT内部命令(Benchmark)测试迭代100步并记录CPU使用率和运算时间(Elapsecl-time)。按多重网格循环方法、区域分裂法和解题规模分三种方案测试。方案1:网格划分为100万单元,采用FLUENT默认的主轴对称的网格分裂方法和不同的多重网格循环方法测试,从1个到8个计算节点,每个节点分配一个任务。方案2:网格划分为40万单元,以方案1中并行效率最高的多重网格循环方法,并入2个计算节点,每个节点分配一个任务,采取不同的网格分裂方法进行并行计算。由于燃料电池模型几何特征的对称性,本实验只采用了PrincipalX-Coordinate、PrincipalY-Coordinate、PrincipalZ-Coordinate和CartesianX-Coordinate、CartesianY-Coordinate、CartesianZ-Coordinate方法。为方便记录,上述网格分裂方法采用简写,如PrincipalX-Coordinate简写为PX-C。方案3:网格划分为40万单元和10万单元两种,以并行效率最高的方案1中的多重网格循环方法和方案2中的网格分裂方法,每个节点分配一个任务,测试计算节点从1个到8个的CPU利用率和运算时间。由于主节点参与计算会导致负载不平衡,降低HPCC的加速性能5,因此以上方案中主节2005Fluent中国用户大会论文集254图2不同多重网格循环方法的加速比点均不参与计算,为了测试结果的准确性,同一测试重复一遍。由于测试结果重复性非常好,因此实验结果采用两次测试的算术平均值。4FLUENT的并行性能测试结果及分析4.1多重网格循环方法对并行性能的影响方案1的测试结果如图2,随着多重网格循环方法的不同,加速比和计算速度均不相同。这是因为不同循环方法的计算量和通讯量不一样,对于V循环、F循环和Flexible循环,计算节点CPU利用率都很高,在14个节点时,都达90%的利用率,因此分析对于这三种循环,主要还是因为计算量不同所引起的测试结果不同;而采用W循环时,CPU利用率极低,最高只达到10%,并且计算速度非常慢,可见采用W循环并行计算时,通讯量相当大,这是主要影响因素。从图2中可以看出,在5个计算节点以前,四种循环方法的并行加速比基本相同,但计算节点继续增加时,V循环的并行加速比明显比其它三种大;随着计算节点的增加,所有的循环的加速比增长率都逐渐变小。不同循环1个节点的运算时间是V循环4786秒,W循环37504秒,F循环5121秒,Flexible循环6870秒。其中,V循环运算速度最快,W循环运算速度最慢,这是由于V循环运算量最少,W循环运算量最大的缘故。4.2区域分裂法对并行性能的影响方案2的测试结果如表1所示,不同的网络分裂方法计算所用的时间各相同,有的甚至相差很大。这是因为不同的网络分裂方法所产生的分割接触面和领域的多少不同,并行计算时所需交换的数据量不同,因而通讯量不同,从而引起计算速度不同。分割接触面和领域数越少,计算速度越快。不同的求解问题模型需要寻找不同的网络分裂方法,以求计算速度最快。本文中最佳网络分裂方法是CartesianX-Coordinate。表1不同网络分裂法的测试结果方法PX-CPY-CPZ-CCX-CCY-CCZ-C分割接触面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论