计算机科学与探索 ›› 2017, Vol. 11 ›› Issue (1): 61-69.DOI: 10.3778/j.issn.1673-9418.1512054

• 高性能计算 • 上一篇    下一篇

面向高阶精度CFD的JFNK算法及其并行计算

程  彬1+,李大力1,徐传福1,刘  巍1,王光学2,邓小刚3   

  1. 1. 国防科学技术大学 计算机学院,长沙 410073
    2. 中国空气动力研究与发展中心 空气动力学国家重点实验室,四川 绵阳 621000
    3. 国防科学技术大学,长沙 410073
  • 出版日期:2017-01-01 发布日期:2017-01-10

Research on Jacobian-Free Newton-Krylov Method for High-Order CFD Applications and Its Parallel Computing

CHENG Bin1+, LI Dali1, XU Chuanfu1, LIU Wei1, WANG Guangxue2, DENG Xiaogang3   

  1. 1. College of Computer, National University of Defense Technology, Changsha 410073, China
    2. State Key Laboratory of Aerodynamics, China Aerodynamics Research and Development Center, Mianyang, Sichuan 621000, China
    3. National University of Defense Technology, Changsha 410073, China
  • Online:2017-01-01 Published:2017-01-10

摘要: 目前计算效率低是限制计算流体力学(computational fluid dynamics,CFD)高阶精度格式方法的重要因素之一。由于高阶精度格式计算模板相对复杂,很难精确计算其Jacobian矩阵,从而影响传统LU-SGS(lower-upper symmetric Gauss-Seidel)等算法的收敛效率。JFNK(Jacobian-free Newton-Krylov)算法是Krylov子空间方法与非精确牛顿方法的结合,拥有较好的迭代收敛效率,采用无矩阵思想,只计算Jacobian矩阵与矢量的乘积,从而有效避免Jacobian矩阵的计算和存储。在真实高精度结构网格CFD应用程序中,设计并实现了JFNK时间求解算法。在有粘低速圆柱绕流的算例测试中,和传统LU-SGS算法相比,JFNK算法拥有更好的计算稳定性,同时可使迭代收敛效率提高2倍以上。以天河2号超级计算机为并行计算平台,对JFNK算法和传统的LU-SGS算法的并行强可扩展性进行了测试,二者均表现出良好的并行效率。

关键词: 高阶精度格式, JFNK算法, 计算效率, 可扩展性

Abstract: Computational efficiency is a significant factor of high-order accurate scheme for computational fluid dynamics (CFD) finite difference method. It is hard to get Jacobian matrix for lower-upper symmetric Gauss-Seidel (LU-SGS) method because of its complicated computing stencil, which affects the computational efficiency. Jacobian-free Newton-Krylov (JFNK) method is a combination of inexact Newton method and Krylov subspace method. With the adoption of matrix free technique, JFNK method only calculates the approximate product of Jacobian matrix and vector using the finite difference quotient of the nonlinear function, thus successfully avoids the calculation and store of approximate Jacobian matrix. Based on the domestic high-order simulator for aerodynamics program, this paper designs and realizes JFNK method. In the viscid and low speed test case of steady flow around a circular cylinder, compared with LU-SGS time stepping method, JFNK method is more stable and efficient. Some numerical experiments of JFNK method and LU-SGS method are performed on Tianhe-2 supercomputer system and good scalability is observed from the test results.

Key words: high-order accurate scheme, JFNK method, computational efficiency, scalability