基于PETSc的CFD并行JFNK求解器
发布时间:2019-08-07 09:22
【摘要】:并行负载平衡和迭代求解性能是影响结构多块网格CFD(Computational Fluid Dynamics)并行求解效率的两个重要因素。结构多块网格CFD并行求解通常以网格区块分组实现负载平衡,网格块数限制了进程并行规模,为了提高并行度,通常需要进行网格区块重剖分(或称二次剖分)。传统上对于结构多块网格多采用显式剖分方法,即先采用网格剖分程序(通常与CFD求解器软件相对独立)生成网格量近似相等的若干网格块组,再进行并行求解。但是在工程实际中,往往需要多次重剖分,使得CFD前期数据处理耗时而繁琐。CFD隐式求解算法稳定性好,但Jacobian矩阵难以计算,目前主要采用近似Jacobian矩阵,这往往降低了迭代过程的收敛速度。Jacobian-Free Newton-Krylov(简称JFNK)算法是近年来逐渐发展起来的牛顿类非线性求解方法,仅需计算Jacobian矩阵与向量乘积(转化为非线性函数相减),可回避了直接求解Jacobian矩阵的困难。针对一个实际的三维结构网格CFD应用,如何采用JFNK非线性算法取代传统的LUSGS类线性解法,并能在并行计算中避免传统的网格重剖分问题,这是本文开展工作的出发点。对此,本文采用PETSc(The Portable Extensible Toolkit for Scientific Computation)数值并行软件框作为二次开发平台。PETSc作为目前主流的开源数值并行软件框架,向用户提供了并行向量、矩阵等自有的数据结构,屏蔽了通用数值并行算法、并行通信等诸多实现细节,很大程度上降低了并行程序开发的难度。PETSc不仅提供了针对单块结构网格的分布数组(DMDA)并行数据结构,也为科学计算提供了丰富的非线性与线性方程组求解器,其中牛顿类方法非线性求解器包括了对JFNK算法的支持。针对CFD结构多块网格的大规模并行计算问题,基于网格显式剖分,采用PETSc提供的非线性解法器实现JFNK求解功能替代原有CFD软件的线性隐式求解部分,实现JFNK并行求解器;并在此基础上,利用PETSc提供的分布式数组数据结构(DMDA),实现无需显式重剖分的并行JFNK求解器(本文称此为隐式剖分)。对于一个实际的三维结构网格CFD应用而言,采用PETSc的数据结构与解法器,实现JFNK非线性求解器的大规模并行,是一个涉及数值方法、并行软件框架、网格剖分、软件集成与性能测试等覆盖CFD求解器计算多个关键环节的问题。为此,本文开展了以下工作:(1)在分析传统CFD计算流程的基础上,建立了JFNK方法用于CFD计算的数值模型,梳理了CFD的定常流动非线性函数、非定常流动单时间步法非线性函数和双时间步法的非线性函数,给出JFNK方法的多种预条件,为在实际三维CFD应用中实现JFNK方法奠定了数值模型基础。研究了PETSc基础数据结构、软件体系结构和数值计算功能支持,理清了PETSc框架中的通用JFNK方法及其实现思路,为基于PETSc框架的二次开发奠定了基础。(2)基于PETSc和原始三维结构网格CFD应用,设计实现了并行JFNK非线性求解器。通过分析三维结构网格CFD软件计算流程,理清CFD计算过程中各模块的作用以及原CFD程序的数据传递关系,依据PETSc的数据结构特点、JFNK非线性计算的功能要求,对原CFD程序进行了数据结构和计算流程重新设计,重点对JFNK非线性函数对应三维CFD应用右手项模块进行了计算重组,并设计了JFNK预条件模块,完成了PETSc的JFNK方法与原始三维结构网格CFD软件的无缝集成。(3)在(2)的基础上,进一步实现无需显式重剖分的并行JFNK求解器。研究发现PETSc的新型数据结构-分布式数组数据结构(DMDA)具备实现自动负载平衡的潜力。针对多区结构网格CFD问题,对各原始网格区块分别建立相对独立的MPI通信子系统,在各个通信子系统内通过区块与进程间的自动资源映射来实现负载平衡。通过PETSc框架,将网格重剖分与JFNK并行求解器实现了紧耦合,从而避免了传统上CFD应用往往需要显式二次剖分所带来的问题。(4)在“天河二号”高性能计算机上,采用多个网格规模和并行规模验证了本文的两种并行JFNK求解器的正确性,比较了计算性能。测试算例为三维圆柱绕流问题,网格最大规模达13.5亿,最大并行规模达5184 CPU核。数据表明,对于结构多块网格CFD数值模拟,本文的两种求解器均可行,其中隐式剖分版本相对显式剖分版本具有明显的性能优势,且隐式剖分版本具有良好的可扩展。
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:O35;TP338.6
本文编号:2523859
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:O35;TP338.6
【参考文献】
相关期刊论文 前1条
1 邓小刚;高阶精度耗散加权紧致非线性格式[J];中国科学(A辑);2001年12期
,本文编号:2523859
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2523859.html