首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

动态负载平衡的二维非结构网格DSMC并行算法研究

2022-04-01 来源:达言教育
维普资讯 http://www.cqvip.com 第25卷第3期 空气动力学学报 Vo1.25,No.3 Sep.,2007 2007年o9月 ACTA AERoDYNAMICA SINICA 文章编号:0258—1825(2007)03.0339—07 动态负载平衡的二维非结构 网格DSMC并行算法研究 王学德 ,伍贻兆 ,夏 健 (1.南京理工大学动力工程学院,江苏南京210094;2.南京航空航天大学航空宇航学院,江苏南京210016) 摘 要:基于PC—CLUSTER群机并行体系结构与消息传递库MPI并行环境,研究了二维非结构网格DSMC并行算 法。提出一类非结构网格动态分区策略,保证各子区域的分子数量大致相等,实现计算进程间的动态负载平衡。 利用MPI库函数构造了符合DSMC并行原理的单步通讯法。采用单控制多数据流(SPMD)以及Master/Slave并行模 式,设计了二维非结构网格DSMC整体并行算法。在程序的编制过程中,充分展现了Fortran90高级语言的主要特 性,引人动态数组、指针、链表及派生类型数据。最后对过渡流域高超声速绕流进行了并行计算,数值试验的结果 表明本文设计的并行算法可以取得较为理想的加速比。 关键词:非结构网格;直接物理模拟;DSMC;并行算法;动态负载平衡;MPI 中图分类号:V311.4 文献标识码:A 0 引 言 在求解稀薄气体动力学和微尺度流动问题中,直 接物理模拟Monte Carlo方法(简称DSMC)_2、3 J发挥着 极其重要的作用,也是迄今为止在求解过渡流域流动 问题中唯一获得巨大成功的方法。DSMC方法所用 网格大体上可以分为两大类:一类是以位置元方案为 主的直角结构网格方法_3 ;另一类是非结构网格方 法[1’ .8]。无论对于非结构网格还是直角结构网格, 大量计算机时和内存等计算资源的耗费已成为限制 DSMC方法被广泛应用的最大瓶颈。随着高性能计 算机的迅猛发展,并行计算已成为数值计算的潮流与 趋势。国外的计算流体力学家曾针对IBM SP2、Cray. Ⅱ、Cray.T3E等这类大规模并行超级计算机系统进行 了DSMC并行化的研究l8,11 J,取得了许多有意义的结 果。由于这类超级计算机系统造价昂贵而难以得到 普及,一定程度上限制了并行DSMC方法的发展。目 前应用范围比较广泛的并行体系结构是机群系统 究热点。本文针对非结构网格与PC—CLUSTER机群 系统的特点,开展了动态负载平衡的非结构网格 DSMC分布式存储并行算法研究。 1动态分区策略 在DSMC计算中,影响并行效率的主要因素是分 区的分子数量而非网格单元的数目。由于分子的迁 移运动,每一个非结构网格的分子数量随流场的发展 而变化。对于非均匀流场而言,初始网格单元内的分 子数量与流动趋于定常后网格内的分子数量差别巨 大。显然,一次静态分区并不能保证计算过程中各分 区的分子数量时刻大致相等,进而影响了并行效率。 为此本文首先提出了一类动态分区策略,保证所有子 区域分子数量大致相当,并且可以随着流场的发展动 态进行分区,实现进程间的负载平衡。 以每一个非结构网格单元的分子数量作为分区 量,分区的标准是使得子区域的分子数量大致相当。 利用直角结构网格作为背景网格覆盖整个计算区域, 背景网格尺度可以比整个计算流场大。对于每一个 (PC—CLUSTER)。PC—CLUSTER以其卓越的性价比 和良好的可扩展性等因素成为当今计算机体系结构 与并行处理的发展方向,能够充分满足我们对计算机 非结构网格单元,如果其重心坐标落入某个结构网格 单元中,就认为属于该结构网格单元。这样就使得任 一处理能力不断增长的需求,是当前科学并行计算的研 ・个非结构网格单元有且仅有一个所属结构网格单 收稿日期:20o6.01.17;修订日期:2006.03-08. 基金项目:博士生创新与创优基金资助项目(BCXJ04.01);南京理工大学引进人才科研启动基金资助项目 作者简介:王学德(1977.),男,山东德州人,博士生研究生,主要从事计算流体力学研究. 维普资讯 http://www.cqvip.com 空气动力学学报 第25卷 元。分区采用交替二分法技术进行,一般过程可以叙 述如下: 第一,依据背景网格 方向与Y方向几何长度确 定分区方向与遍历单元方向。为了得到合理的长宽 比的分区,一般来说,几何长度较长的方向为分区方 向,另一方向为遍历单元方向。 第二,对于分区方向每经过的行(或列),沿遍历 方向遍历每一列(或行)的结构网格,根据结构网格与 非结构网格的从属关系,累加所有属于结构网格上非 结构网格的分子数量,直至累加到分子数量超过分子 总数的一半,这样就得到两个子区域,每一个子区域 的分子数量为分子总数的二分之一。 第三,把得到的两个子区域按上述交替二分法步 骤分别继续进行分区,得到四个分区,每一个子区域 的分子数量近似为分子总数的四分之一。 第四,把得到的四个分区依次利用二分法继续进 行分区,如此反复,直至满足要求为止。 由于分区过程并没有复杂的运算执行速度快,因 而可以内嵌入到并行程序中,根据流场密度梯度的变 化动态分区。主节点机(Master)根据从子节点机 (Slave)接收到的网格分子数信息动态分区,然后将分 区结果发送回子节点机。为了降低通信带来的额外 开销,可以在程序中规定动态分区的循环间隔数 NADAP,即每NADAP循环步动态分区一次。这样基 本能够保证计算进程负载是平衡的,本文的数值算例 较好地说明这一点。 2 DSMC并行计算中的通讯 DSMC并行计算中的通讯过程较为复杂,通讯量 也是时刻变化的,数据交换的不是流场宏观物理量信 息,而是通过分区边界相互进入到各子区域的分子。 每个分子包含速度、位置坐标、内能、所属组分以及所 属单元等基本信息。相邻分区间分子的进入包含三 种情况:一是分子的相互进入;二是相邻分区间分子 的单向进入;三是相邻分区间无分子进入。因此对于 相邻分区,有三种通讯情况:双向通讯、单向通讯以及 零通讯,这里零通讯指的是相邻区域不存在数据交 换。随着流场的发展,对于特定的分区边界,这三种 通讯模式是交替变化的。另外,在每一个完整的时间 步长内,分子可以进入到与之不相邻的分区内,即跨 分区迁移,因此并行DSMC中的通讯非常复杂。我们 这里设计了单步通讯法。 2.1分子数据类型的定义 MPI的一个重要的特征是支持派生类型的数据, 两个重要的库函数是MPI—TYPE—STRUCT和MPI— YTPE—COMMIT,前者为数据类型生成器,后者向MPI 系统递交新生成的数据类型,以便使得新数据类型可 以在各进程问用于数据通讯。本文利用FORTRAN90 的派生类型、MPI—TYPE—STRUCT以及MPI—TYPE— COMMIT把每一个分子定义为一个基本的数据类型, 每一个基本数据类型包含的信息有:分子所属组分、 分子的速度、分子的位置坐标、内能、分子所在的单元 等数据。这样定义的分子基本数据类型不仅简化了 编程,更为重要的是它可以如同基本类型INTEGER 或者REAL一样可以直接用于MPI库函数进行子进 程间的数据交换,缩短通讯开销。 2.2单步通讯法 该方法要求每一个子进程除了载人自身的子区 域网格信息外,还需载人整体网格信息与分区信息。 这样分子在每一个进程内可以进行完整的迁移及跟 踪。我们给出详细的通讯过程。 第一,每一个进程内的分子运动完整的时间步长 DTM,搜索分子的目标单元,根据目标网格单元所在 的分区编号,确定目标分区。判断分子是否进入到其 它分区(可以是相邻分区也可以是相隔分区),累加进 入到其它分区中的分子总数NUM。每一个子进程内 根据NUM的大小动态开辟发送数据缓存器 BUFFER,同时分配一个维数等于计算进程总数的数 组ARRAY。将每一个进入到其它分区的分子(需要 通讯交换的分子)存放于BUFFER中等待通讯。 第二,所有分子运动结束后遍历BUFFER,根据 每一个发送分子的目标分区,重新对BUFFER中的分 子进行排序整理,发送到同一目标分区的分子存放于 BUFFER的连续地址空间中,发送到同一目标分区的 分子总数存放在ARRAY相应元素中。 第三,利用MPI的全局通讯函数,将ARRAY中 相应的分子总数通知给其它进程,如图1所示,这样 每一个进程得到了从其它进程将要接收的分子总数。 第四,利用MPI基本的点对点通讯功能,将 BUFFER中的分子发送到相应的目标分区中,完成进 程间的相互通讯。 维普资讯 http://www.cqvip.com 维普资讯 http://www.cqvip.com

342 空气动力学学报 第25卷 序设计中利用MPI库函数MPI—COMM—GROUP、 MPI—GROUP—INCL及MPI—COMM—CREATE将所有 5.2计算结果及讨论 的Slave节点自定义为新的通讯域,用于分子数据交 换及子节点之间的全局通讯。我们给出非结构网格 图4(b)给出了流场趋于定常后十六分区非结构 计算网格,图4(a)为动态分区所用结构网格的边界。 由于整个动态分区过程可以看作是自适应分子数的 DSMC并行算法的计算流程,如图2。 4 DSMC中的相关模型 过程,分区结果使得每一个分区内的分子总数大体相 等,因此可以明显地看出:在靠近驻点处,因为密度较 4.1分子模型与反射模型 本文在直接模拟中采用了Bird建议的变径硬球 模型(variable hard sphere),简称VHS模型[ ,这样可 以使模拟分子具有与硬球模型一样均匀的散射几率, 又能使它的碰撞截面随相对速度的改变而改变,能保 证粘性系数 与温度 关系的一致。分子与物面的 相互作用采用了完全漫反射模型[引。完全漫反射模 型假定分子与表面作用后,离开表面的分子以平衡的 Maxwel1分布散射。 4.2碰撞对的选取 本文利用了Bird非时间计数器法(no time counter,简称NTC)[ ]进行碰撞对的选取,引入位置元 思想中的子网格,在同一网格下相邻子网格中进行碰 撞对的选取,这样可以降低算法对网格维度的要求, 可以做到不考虑分子在子网格中的具体位置对碰撞 几率的影响。 4.3 Larsen.Bergnakke碰撞模型 Larsen.Bergnakke碰撞模型 J将粒子之间的碰撞 分成弹性碰撞和以及有转动能和振动能参加的非弹 性碰撞,其比例为(1一 一 ): 1: 1,对于非弹 口 厶V 口 V 性碰撞,碰撞中的总能量Ec是相对平动能E与内能 e 之和,碰撞后分子能量根据平衡分布函数在平动模 式与内能模式之间重新分配。 5数值算例及结果分析 5.1计算模型与来流条件 本文用并行非结构网格DSMC方法模拟了高超 声速圆柱绕流,计算区域及边界条件如图3所示。来 流为由氮气与氧气组成的混合气体,组分摩尔百分比 为0.763:0.237,物面温度与流场温度分别为293K、 181K。来流速度为1418.7km/s,分子数密度为0.595 X 1022 大,分区区域面积较小;在圆柱的背风面,因为密度较 小,分区区域面积较大;在流动未受扰动的均匀流场 处,分区区域面积大体相等。 图3计算模型与边界条件 Fig.3 Geometrical model and boundary conditions (a)十六分区结构网格边界 (b)十六分区非结构网格 图4十六分区网格 Fig.4 Sixteen decompositions 图5给出串行程序与十六分区并行程序计算结 果的比较,串行程序的正确性已有文献[1]给出。图 5(a)、(b)、(c)、(d)分别为密度等值线、等马赫数线、 温度等值线与压力等值线。从结果的对比来看,串行 结果与并行结果一致,说明并行化后的DSMC过程是 正确的。为了定量地说明本文发展的动态自适应分 区策略,我们进行了等网格静态分区及相应的并行 DSMC计算,这里等网格静态指的是分区依据传统分 区标准进行,网格分区的结果使得各分区内的网格单 元数大致相等,网格分区只在流场计算之前分区一 次。图6给出了等网格静态十六分区与动态分区各 子进程分子数量的条形对比图。明显地看出在等网 维普资讯 http://www.cqvip.com 第3期 王学德等:动态负载平衡的二维非结构网格DSMC并行算法研究 343 格静态分区下,分子数量差别巨大,各进程问会出现 过多的相互等待,因此等网格静态分区很难做到负载 平衡。 (a) 等密度线 (b)等马赫线 (c)等温度线 (d)等压力线 图5并行与串行计算结果的比较 Fig.5 Comparison between serial and parallel results 为了验证本文发展的分区策略及并行算法,我们 给出了并行效率的比较。图7(a)为计算时间的对 比,图7(b)为加速比的比较。可以看出,动态分区在 相同数量处理器的条件下,所取得的加速比较高,与 理想加速比相比差别不大,证明了本文提出的动态分 区策略、通讯方法以及DSMC并行算法是成功的。从 图7还可以看出,相比等分子动态分区网格,等网格 1.5E+5 生IE+5 1 5E+4 0 0 ¨¨3 l 6 I h9 . l2 1..l5 l7 I l 处理器序号 (a)等网格静态分区 lE+5 5E+4 0 0 3 6 9 l2 l5 l7 处理器序号 (b)等分子动态分区 图6等网格静态与等分子动态分区处理器间分子数的比较 Fig.6 Comparison of number of molecules between static and dynamic decomposition (a)计算时间 处理器数量 (b)加速比 图7计算效率的比较 Fig.7 Comparisons of computing efifciency 维普资讯 http://www.cqvip.com

空气动力 学学报 第25卷 静态分区很难取得较高的加速比,并且随着处理器的 增加,加速比与理想加速比的差别逐渐增大。这充分 说明在相同的条件下,分区的分子数量是影响加速比 很重要的因素,传统的分区策略不适用于并行DSMC 计算。 为了进一步验证本文算法的有效性,我们利用文 献[10]的计算条件模拟了80kin下的高超声速圆柱绕 流。图8给出了本文计算的80kin高空下壁面热流系 数曲线和沿驻点线温度的分布,与文献[1O]相比较, 吻合得较好。 04 0.3 0 2 rL rL ¨ 纠 0.1 O (a)壁面热流系数 (b)驻点线温度 图8计算结果的比较 Fig.8 Comparisons of cMculated results 6 结 论 本文研究二维非结构网格DSMC并行算法,结合 高超声速圆柱绕流并行数值计算算例,我们得出了以 下结论: (1)基于结构背景网格上的非结构网格动态分 区策略能够保证各子区域的分子数量大致相等,实现 计算进程的动态负载平衡; (2)利用MPI库函数构造的通讯方法以及并行 算法适合非结构网格DSMC并行计算,数值算例取得 了较为理想的加速比; (3)传统的分区方法不适用于DSMC并行计算, 所取得的加速比与理想加速比相比差别较大。 参 考 文 献: 王学德,伍贻兆,夏健.二维非结构网格DSMC方法的 实现及其应用[J].南京航空航天大学学报,2004,36 (6):704—707. BIRD G A.Molecular gas dynamics[M].Oxford:Clraendon Press,1976. BIRD G A.Molecular gas dynamics and the direct simulation  rLo f gas flow[M].OxfrL ord:ClrL raendonrL  Press,19rL94.  rL 樊菁,刘宏立,沈青等.直接统计模拟位置元方法中  .. 的分子表面反射确定论判据[J].空气动力学学报, 2000,18(2):180—187、 樊菁,彭世锍,刘宏立等.DSMC位置元方法中的表面 元的程序标识及分子表面反射的确定论判据[J].力学 学报,1999,31(6):671—676. BIRD G A.Apphcafion of hte DSMC method to the full shut— tle geometry[R]. 姒A一90—1692,1990. LAUX M,FASOULAS S,MESSERSCHMID E W.Develop— ment of a DSMC code on planar unstructured grids wiht auto— marie d adaptation【R J.AIAA-95—2053. LAUX M.Optimization and paralhlization of the DSMC methdo on unstructured ds[R].A A一97—25 12. WILMOTH R C,LEBEAU G J and CARLSON A B.DSMC d methodologies for computing low—densi ̄,hypersonic flow about reusable launch vehicles[R].AIAA一96—1812,1996. 樊菁,沈青.过渡领域高超声速圆柱绕流直接模拟 [J].空气动力学学报,1995,13(4):405—413. KIM M G.KIM H S.A parallel cell based DSMC method with dynamic load balancing using unstructured Adaptive meshes【RJ.AIAA 2003.1033. (下转第361页) rLl 维普资讯 http://www.cqvip.com

第3期 于陆军等:单循环脉冲爆轰发动机内外流场的动力学结构 36l 端压力的下降。 参 考 文 献 calculations of plume dynamics of a pulse detonation engine by the space—time CE/SE method【R].AIAA 200l一3612,2001. [5] 李辉煌,杨基明,徐立功.脉冲爆震发动机喷嘴流动的 数值模拟[J].推进技术,2004,25(6):553—556.(LI HUI. HELMAN D,SHREE、rE R P.and EIDELMAN S.Detonation HUANG.YANG JI—MING.XU LI—GONG.A numerical simu. pulse engine【RJ.Aj从86—1683,1986. 1ation on the noz ̄e lfow of pulse detonation engine[J].Jour・ hal ofPropulsion Technology,2004,25(6):553—556.) [2] COOPER M,JACKSON S,SHEPHERD J E.Efieet of dena— gration—to-detonatin transiiton on pulse detonation engine im— [6] LEVEQUE R J.Wave propagation algorithms for multidimen- sional hyperbolic【J J.J Cornptttatonali Physics,1997,13l: 327—353. pule[R].GALCIsT Report FM00—3,2000. [3] /3 CH/PING,KAILASANATH K.A numerical study of reac— ifve lfows in pulse detonation engines[R].Aj从2001—3933。 2oo1. [7] ABATE G,SHYY W.Dynamle structure of confined shocks undergoing sudden expansion[J].Progress in Aerospace Sci・ e, e.2002,38:23—42. [4] ZHANG ZENG-CHAN,JOHN YU S T,HE HAO,et a1.Direct Dynamic structure of the internal and external flow field in a single—cycle pulse detonation engine YU Lu—jun,FAN Bao—chun,DONG Gang,GUI Ming—yue (Laboratory ofTransient Ph ̄ics,Naajlng University ofSceince and Technology,Nanjingjla, ̄u 210094,China) Abstract:By solving Navier-Stokes equations in conjunction with the chemistry,a numerical simulation of pulse deto— nation process induced by flame in the tube with CH4一Oz—N2 ixtmure and the distribution of the internal and external axisym— metric flow ifeld was performed,and a CH4一Oz—N2 system,which included 14 species and 19 element reactions,was in— volved.The computational results demonstrate the diffraction of shock wave,vortex ring and complex vortex/shock interac— tions in the vicinity of the thruster exit.The dynamic structure is also discussed. Key words:PDE;numerical simulation;chemical reaction mechanism;dynamic structure (上接第344页) A parallel algorithm of 2D unstructured DSMC method with dynamic load balance WANG Xue.de ,一,WU Yi.zhao2,XIA Jian (I.School ofPower Engineering,Nanifg Uninversity ofScience and Technoloy,Nangjig 210094,Chinna; 2.College ofAerospace Engieenring,Nanjing University ofAeronautics and Astronautics,Nanjig 21n0016,China) Abstract:This paper is to study parallel algorithm of 2D unstuctured DSMC method on PC・r-CLUSTERS that is dis-— tributed memory architecture using the MPI standard library.In order to obtain high parallel efficiency,a new adaptive do— main decomposition technique is presented.Because this method results in equal number of molecules among processors, dynamic load balance is maintained.Single step communication methods are constructed by means of MPI library.A com— plete parallel algorithm of 2D unstructured DSMC method is designed using SPMD and master/slave parallel mode.New fea— ture of FORTRAN90 is fully exploited which makes the code more flexible.Finally,numerical experiments are made for hy— personic rarefied gas flow past cylinder.In some extent,the numerical results confirm the feasibility of method mentioned above. Key words:unstructured d;direct simulation;DSMC;parallel algorithm;dynamic load balance;MPI 

因篇幅问题不能全部显示,请点此查看更多更全内容