背 景
在工业仿真领域,对各种现实世界的问题进行数值模拟时,如流体动力学分析、电磁场仿真、结构力学应力应变分析等,其控制方程通常是偏微分方程组,在经过不同方法的隐式离散之后最终都可转化为大型稀疏线性方程组。随着人们对计算精度要求的不断提高,方程组的阶数也从上千阶、几十万阶提高到百万、千万阶甚至更高,所需的计算量以及存储需求也随之迅速膨胀。根据一般经验,方程组求解时间会占总计算时间的70%以上,往往是整个计算过程中的性能瓶颈。如果说求解器是工业CAE软件的核心模块,那么大型稀疏线性方程组的求解技术将毫无疑问是底层求解器的核心。

NASA翼型网格经过离散得到的稀疏矩阵(素材来源于网络)
方 法

众所周知,稀疏线性方程组的求解方法可以分为直接法和迭代法 ,两类方法各有优劣,特点比较如下:
迭代法[1]:
-
对于不同类型稀疏矩阵表现差异较大,存在收敛性与收敛速度问题,催生了许多预处理技术(Preconditioners);
-
对原矩阵的编辑很少,SpMV(Sparse matrix-vector multiplication)是其核心运算;
-
内存需求小,求解速度较快,算法复杂度低;
-
较易实现并行化。
直接法[2]:
-
通用、稳定;通过前后处理,能够保证计算的收敛性与精度;
-
对原矩阵的编辑多(分解、排序、缩放等);
-
内存需求大,求解速度慢,算法复杂度更高;
-
并行度有限。
其中迭代法的种类很多,可以分为定常(Stationary)迭代法与非定常迭代法[3]。经典的定常迭代法有Jacobi迭代法、Gauss-Seidel迭代法、SOR迭代法等,这些方法均可基于矩阵分裂推导得到;而在数值模拟中,非定常迭代法则显得更加重要,常见的有共轭梯度法(Conjugate Gradient CG)、广义最小残量方法(Generalized Minimal Residual GMRES)、稳定双共轭梯度法(Biconjugate Gradient Stabili

本文介绍了UNAP求解库的设计理念与应用案例。UNAP是针对国产异构众核平台开发的大型稀疏线性方程组求解库,支持多种Krylov子空间方法及预处理技术。在航空发动机、船舶水动力学等领域取得了显著加速效果。
最低0.47元/天 解锁文章
3440

被折叠的 条评论
为什么被折叠?



