CFD并行计算中的多区结构网格二次剖分方法与实现

CFD并行计算中的多区结构网格二次剖分方法与实现
王勇献;张理论;刘巍;车永刚;徐传福;王正华
pci板卡
【摘 要】波纹钢管在多区结构网格计算流体动力学(computational fluid dynamics,CFD)并行模拟中,为了与并行计算资源相适应,经常需要对原始流场网格进行二次剖分与区块分组.在对区块分组和网格二次剖分进行了总结综述的基础上,重点提出针对多区结构网格二次剖分的两种策略:几何剖分和嵌套二分.基于这两种策略完成了剖分软件工具TH-MeshSplit,可实现初级方式、专业方式和专家方式3种运行方式,为用户在自动化与灵活性方面提供了多样化选择.数值实验结果表明,两种剖分策略及其实现软件可在较短时间内完成复杂的剖分,剖分后的网格在负载平衡性、计算通信比等方面具有更优的性能,从而为后续CFD流场的高效并行加速求解奠定了基础.%In parallel computational fluid dynamics (CFD) applications with multi-block structured grids,to exploit fully the available resources of CPUs and/or memories for parallel computing platform,it is a common approach to repartition the original grids to obtain more sub-blocks,each with smaller volume.Two strategies of grid repartitioning are proposed for multi-block structured grids CFD application in this paper based on the investigation of exist
ing approaches.Furthermore,a software tool named TH-MeshSplit is developed to facilitate the process of grid repartitioning,in which a simple heuristic strategy is used to solve the combinatorial optimization for the optimal splitting and yield a near-optimal solution for the problem.TH-MeshSplit can run in three modes:fully-automatic mode,half-automatic mode and manual mode,which provides user the freedom of choices and shows a good flexibility of the tool.Some numerical experiment results were reported.By evaluating the quality of grids according to several criteria,it is shown that a resulting grid with high quality can be achieved after the repartitioning and it thus confirms the validity of our grid repartitioning approach.
期刊数据库【期刊名称】《计算机研究与发展》
电离层
【年(卷),期】2013(050)008
【总页数】7页(P1762-1768)
【关键词】并行计算;计算流体力学;多区结构网格;网格二次剖分;TH-MeshSplit
【作 者】王勇献;张理论;刘巍;车永刚;徐传福;王正华
【作者单位】国防科学技术大学计算机学院 长沙410073;国防科学技术大学计算机学院 长沙410073;国防科学技术大学计算机学院 长沙410073;国防科学技术大学计算机学院 长沙410073;国防科学技术大学计算机学院 长沙410073;国防科学技术大学计算机学院 长沙410073
【正文语种】中 文
【中图分类】TP301
在基于计算流体动力学(computational fluid dynamics,CFD)进行流场模拟中,通常会将物理流场离散化为流场网格,然后再使用有限差分法、有限体积法或有限元法,便可将刻画流体规律的流动控制方程(微分或积分方程)转化为求解这些离散网格上各物理量的代数方程组.当前广泛使用的两类离散化网格包括结构型网格和非结构型网格,其中,非结构网格的优势主要是对复杂几何外形的适应能力较强,但同时也存在几何元素拓扑关系复杂、难以使用简单的索引关系等缺点;而结构网格则具有技术成熟、拓扑结构简单、流场
计算精度高、边界处理能力强等优点.多区块重叠(overset grid)技术的引入也在一定程度上弥补了结构网格无法适应复杂外形方面的不足,因此结构网格技术仍是CFD应用中的首选,在航空航天、气象、环境等领域得到了广泛使用.
在对复杂形状的流场进行生成网格时,为了简化网格生成流程、提高生成网格的质量,经常需要将全流场划分成由多个区域,最终生成多区块(multiblock)型结构网格,常用的网格生成软件ICEM,GridGen,Pointwise等均支持生成多区块型结构网格(简称多区结构网格).丽绿刺蛾
由于实际应用问题的流场中网格规模非常庞大,并行计算已经成为CFD流场模拟中的一项基本计算技术.CFD并行计算普遍采用区域分解的数据并行策略,即将流场数据划分成与并行任务数相匹配的多个子区块,每个并发任务负责其中一个(或多个)子区块上的流场模拟,采用这种策略,所有并发任务便以“单程序多数据”的简单方式进行并发计算.在并行计算时,每个并行任务由映射到CPU核上的一个计算进程负责完成计算.在这种多区块并行计算方式中,网格中子区块的总数量、各子区块间网格规模的均衡性等因素都会直接影响到并行计算的效率.仅以子区块数目为例,通常情况下,并行计算机中空闲CPU核的数量(或
者可运行的最大进程数目)P会随系统运行作业的情况而变,而流场网格包含的区块数M则在网格生成阶段确定(为示区别我们称之为网格的原始剖分),一经生成之后就相对固定.这里共有3种情形:1)当M=P,即网格区块数与进程数目恰好相等时,如果不考虑负载均衡及通信优化问题,则每个进程负责一个区块上的计算;2)当M<P,即网格区块数少于进程数时,为了充分利用计算资源需要将现有的网格进行二次剖分,以便获得更多的区块数目;3)当M>P,即网格区块数多于进程数时,某些进程将负责多个区块上的计算,此时需要将原始的M个区块划分成P个组,每个进程负责一个区块分组上的计算.
为了提高并行计算效率,网格二次剖分与区块分组时还必须考虑负载均衡与通信最优化等因素.目前,针对并行计算负载均衡与通信最优而进行的区块分组方法先前已有较多的研究,但在网格的二次剖分方面现有的文献较少,本文的重点是研究多区结构网格的二次剖分方法与软件实现.事实上,只要有了合理的网格二次剖分算法与工具,当原始网格区块不足(即M<P情形)时,便可使用网格二次剖分方法显著增加网格区块的数量,从而形成M>P的状况,然后便可以使用成熟的区块分组方法对并行CFD计算进行任务分配.
值得一提的是,虽然网格二次剖分与网格生成阶段的原始剖分都是将网格进一步划分成更
多区块的过程,但二者是有区别的:原始剖分主要基于飞行器复杂的几何外形、由专业人员使用网格生成工具软件实现,进行原始剖分时主要考虑流场外形的空间特点,而不关注各区块上网格量的大小、区块间连接关系的简洁性等要素,原始剖分的时间周期一般都较长;而二次剖分则主要立足于并行计算的需要,其剖分的目标是增大流场数值模拟的并发度、实现并行计算负载均衡,二次剖分通常不需要涉及过多的飞行器外形细节,非CFD专业人员借助工具也可在较短周期内轻易完成.
1 多区结构网格的区块分组问题
在典型的多区结构网格并行CFD模拟中,当网格区块数目M多于计算进程数P时,必须将这M个区块分成P组(即区块分组),每个进程负责一个组内各区块的计算;同时为提高并行效率,还要考虑P个进程之间的计算负载、通信负载都要相平衡,以及使进程间的通信量达到最小化.
可以用图论记号来分别表示并行计算中计算资源和多区网格的情况.所有计算进程可表示为一个加权图G′=(V′,E′,W′),其中顶点集V′表示P 个进程,边集合E′表示进程之间是否允许通信,边权重矩阵W′={w′ij}表示每两个进程通信时的成本.类似地,也可以将原始
多区结构网格的并行应用问题按流场特性表示成一个加权图G=(V,E,W,C),其中顶点集V={v1,v2,…,vM}表示流场中的M 个区块,边集E={eij}刻画这些区块之间存在的数据依赖关系,边的权重矩阵W={wij}表示每对区块由于数据依赖需要进行的通信量,顶点权重(向量)C=(c1,c2,…,cM)表示每个区块上流场模拟需要的计算量(计算负载).
在上述记号之下,多区结构网格的区块分组问题可以看成是一个图的嵌入问题,即寻一个由图G向图G′的“好”映射,使得某些准则达到最优化.在并行计算中,这种优化准则包括计算负载平衡、通信负载均衡以及通信总量最小等[1].在CFD领域中,通常只考虑并行任务运行期间图G不发生变化的静态图嵌入(也称图的分割)问题,它是一个NP难问题,目前主要使用各类启发式算法求解,广泛使用的启发式算法有坐标分割、惯性二分、几何分割、贪婪算法、多层分割、谱分割等.在结构网格CFD应用中,由于网格各区块之间的邻接性具有较强的规律,因此上述不少算法可以有更简化的版本,例如试探性几何分割方法、循环二分法、贪婪算法等[2-4].
2 多区结构网格二次剖分问题
2.1 问题描述
前述多区结构风格的区块分组是将现有的区块“合并成组”,以便减少组数的过程,而本节介绍的二次剖分则是向相反方向动作,“扩增区块数”的过程.
2.1.1 多区对接型网格
理性主义在CFD计算的网格生成阶段,通常利用区域分解方法先将流场划分为多个区块,然后在每个区块中建立局部计算坐标系I-J-K,并沿坐标轴的方向建立离散网格单元.根据区块之间的相邻关系可将结构网格进一步分为3种类型:1)对接型(1-to-1),即相邻的两个区块共享一个分界面,且两侧区块在这个公共分界面上的离散网格单元形成一一对应关系;2)拼接型(patched),即相邻的两个区块共享一个公共分界面,但它们在公共分界面上的网格单元却不具有一一对应关系;3)重叠型(overset),即相邻的两个区块之间不是共享一个公共分界面,而是在物理坐标系下存在一个公共的重叠区域.图1示出二维情形下3种类型的结构网格情况,当然也存在上述3种基本类型相混合的多区结构网格.CFD实际应用中使用最多的仍是易于生成、方便计算的对接型结构网格.以下仅讨论多区对接型结构网格的二次剖分问题.
Fig.1 Three types of structured grid.图13 种结构网格类型

本文发布于:2024-09-20 13:37:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/75861.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:网格   区块   剖分   结构
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议