第三章 椭圆型问题的差分法
§3-1 流体力学中的椭圆型问题
·无旋流场中 速度势???0 (Laplace Eq.)
2·二维不可压定常流动,利用涡-流函数表示:
?????V??????2?? ??t2??Poisson方程?????·不可压分离流问题中,扰动压力场:?p??0
·定常的N-S方程求解问题
·在网格自动生成中,求解椭圆型方程的网格生成方式 由于椭圆型方程的数学性质:求解域内部任何一点的解函数依赖于所有边界上的边界条件,因此从数值计算方式来看,就不能从一部份边界起步进行推动计算到另外的边界,这与进展方程的求解方式有专门大的不同,椭圆型方程的数值求解方式,只能是在整个流场中进行迭代计算来求解。
2§3-2 椭圆型问题的迭代法求解
(一)迭代法的大体概念
例:方程?2??? ( Poisson 方程) 二维
?2??x2??2??y2??
差分离散
?i?1,j?2?i,j??i?1,j(?x)2??i,j?1?2?i,j??i?1,j?1(?y)2??i,j ………………..(*)
写成矩阵形式代数方程组为: A??B …………………………………….. (1)
?????其中 A?????????1,1???????????1,2?? ????? ?????i,j???????????????????I,J????一般地,对于线性方程组有A??B,欲求未知函数?的解矢量 若A为非奇异矩阵,即:?A,则??AB
由于A是个阶数甚大的矩阵(非三对角),直接求解,或利用Gauss消去法求逆矩
?1?1阵,计算量及所需运算机的内存都将十分庞大,所以在实际计算中不希望采用直接法求解。
迭代法的大体思想是:概念一个序列?(k),当k??时,?方程(1)的解。 迭代法设法给出?(k)(k)?A?1B,从而取得
?FkA,B,?(k?1),?(k?2),??(k?r)的迭代关系。(一般为计算方
??便,迭代法采取r?1,使之简单)
?(k)?FkA,B,?(k?1)
若Fk(即迭代关系式)与迭代步k无关,则称为平稳迭代; 若Fk是?(k?1)??的线性函数关系,则称为线性迭代。
(k)例如最简单的线性迭代关系可设为:?若迭代是有效的,则??H?1(k)?H(k)?(k?1)?V(k) ……………………… (2)
??V(k)
(k)即AB?HA?1B?V(k) …………………………(3)
?V(k)?(I?H(k))A?1B?M(k)B ???????M(k)即 ?且 M(k)?H(k)??M(k)B
?(I?H)A?1
(k)或 H?MA?I
? 研究迭代的收敛性:
引入误差:E(k)??(k)?A?1B
(k)而由(2)-(3)得:?即 E(k)?A?1B?H(k)(?(k?1)?A?1B)
?H(k)?E(k?1)
(k)(0)?H(k)?E(k?1)?H?HE(k?2)????H??H?HE ???k个或有递推关系式:E由于E(0)是初始解与精准解的误差,应是一个有界的任意函数,故迭代矩阵H应具有:
k??H??H?HZ?0,Z为任意的有界向量函数。 当k??时,lim????k能够证明:(参阅 “偏微分方程的有限差分方式”P239)
H? 对于任意的向量Z,
(k)H(k?1)?H(1)Z?0的充分必要条件是H的所有的特征值?i的
绝对值(即谱半径)都小于1。 ? 推论 当k专门大时,E(k?1)E(k)~?(H) ?(H)?max?i
i所以若?~1,则迭代法的收敛速度很慢。
二、几种迭代法介绍
1. Jacobi迭代 (简单点迭代)
由方程 A??B
将矩阵分解为:A=L+D+U
L:主对角线以下的元素 aij (i>j时等于A,其余为零) D: 主对角线元素
U: 主对角线以上的元素 aij (i (L?D?U)??B L?(k?1)?D?(k)?U?(k?1)?B ??(k)??D?1(L?U)?(k?1)?D?1B ?H??D?1(L?D), M?D?1, V?D?1B H,M能够验证知足迭代有效性条件,即H?MA?I 2、Gauss-Seidel点迭代 类似1 可是 L?(k)?D?(k)?U?(k?1)?B ??(k)??(L?D)?1UW(k?1)?(L?D)?1B 在实际计算中 ?L中(i>j)只要遵循已有新值时,用新值,没有新值时 用旧值,即为G-S。 *来回扫描的Gauss-Seidel迭代,即 step1: L?(k)?D?(k)?U?(k?1)?B (k)(k?1)?U?(k?1)?B step2: L??D? 3、SOR(逐点松弛迭代) step1. 用G-S迭代法求中间值,即 L?(k)?D?(k)?U?(k?1)?B …………………………………(a) step2. ?(k)???(*)?(1??)?(k?1) …. …………………………….(b)