交替LU分裂算法及其在CFD中的应用
2012-06-22吴颂平
相 倩 吴颂平
(北京航空航天大学 航空科学与工程学院,北京100191)
徐 悦
(中国航空研究院 航空数值模拟技术研究应用中心,北京100012)
随着CFD(Computational Fluid Dynamics)模拟能力的提高,计算中需要求解的方程组的规模也急剧增加.快速求解大型方程组已经成为CFD计算的瓶颈之一[1].迭代算法是求解大型方程组的有效方法,其收敛速度依赖于方程组系数矩阵的性质.针对超声速流动离散方程组系数矩阵往往是本质正定的这一特点,本文提出了一种迭代算法,称为交替LU分裂 (ALUS,Alternating Lower-Upper Splitting)算法.该算法计算量小,易于实现,且具有很好的鲁棒性,可大大节省计算时间.
1 迭代算法
常用的迭代算法分为两类.一类是基于系数矩阵分裂的古典迭代方法,例如Jacobi方法,Gauss-Seidel方法,松弛法 (SOR,Successive O-ver Relaxation)等.其中交替方向算法因其简单容易实现,在实际计算中有着广泛的应用[2].近些年逐步发展起来的HSS(Hermitian and skew-Hermitian Splitting)方法[3]和 PSS(Positive definite and skew-Hermitian Splitting)方法[4]及其扩展算法也可以看作是广义的交替方向算法,具体参见文献[5].另一类算法是基于变分极值原理的迭代算法,其中最具代表性的有适用于对称正定系统的共轭梯度法 (CG,Conjugate Gradient)以及适用于非对称正定的广义极小残量法 (GMRES,Generalized Minimal Residual).
1.1 交替方向算法
设矩阵A∈Cn×n,考虑线性方程组

若A可以分解成A=Q+S,则迭代算法

称为交替方向算法.该算法亦可以写成

并且A=M-F.由式 (3)可知,矩阵M可以看成是一个预处理算子.一个好的预处理算子M应该构造简单易于求逆,并且谱半径ρ(M-1F)应该尽可能小.
对于交替方向算法式 (2),有以下定理成立.
定理1 对任意的正实……
