二维泊松方程求解-SIP-最速下降法-共轭梯度

本文介绍了二维泊松方程的几种迭代解法,包括直接解法LU分解、迭代法中的不完全LU分解(ILU)及SIP算法。详细讲解了SIP的原理、代码实现和计算结果。接着讨论了最速下降法(MSD)的求解步骤、结果分析和举例。最后,概述了共轭梯度法(CG)的计算流程、优势和与MSD的比较。此外,还提到了预处理技术和多重网格法,如GMG和AMG,以及它们在解决大型系统中的应用。
摘要由CSDN通过智能技术生成

1. 直接解法:LU分解

在前面的内容中曾经提到,使用有限差分或有限体积法通过隐式离散得到 A ϕ = Q A\phi=Q Aϕ=Q的求解形式,其中 A A A为系数矩阵。在一定条件下, A A A能够通过因式分解为 A = L U A=LU A=LU,其中 L L L为下三角矩阵, U U U为上三角矩阵。

这样的分解方式在高斯消元中十分有用,对 A ϕ = Q A\phi=Q Aϕ=Q的求解可分为以下两步
U ϕ = Y L Y = Q U\phi=Y \\ LY=Q Uϕ=YLY=Q

2. 迭代法:incomplete LU decomposition

如果存在一个与 A A A近似的矩阵 M M M,对 M M M做LU分解,我们把这样的步骤称为 A A A的不完全LU分解,ILU,即
M = L U = A + N M=LU=A+N M=LU=A+N
其中 N N N为小量。

2.1. SIP

Stone提出了基于ILU且具有良好普适性的strongly implicit procedure (SIP),接下来我们简要介绍一下该算法。

在ILU中,如果矩阵 A A A中的 ( i , j ) (i,j) (i,j)元素非零,那么 L L L U U U矩阵在该元素对应位置上的对角线非零。以下图所示的 A A A为五对角矩阵为例说明,图中非零元素占据五条对角线,那么对应的 L L L U U U各自包含三条对角线。

five_diagonals

U U U主对角线上元素为1。可见, L L L U U U的乘积不可能为五对角矩阵,而是七对角矩阵,因此不可能还原为 A A A,而是 L U = M LU=M LU=M,如下图所示

fig-matrix_product

令两次相邻迭代的差值为 δ \delta δ,则原代数方程组可写成
A ϕ n + 1 − A ϕ n = Q − A ϕ n A\phi^{n+1}-A\phi^n=Q-A\phi^n Aϕn+1Aϕn=QAϕn

A δ n = R n A\delta^{n}=R^n Aδn=Rn
矩阵 R R R为残差矩阵,为已知值。设想如果 A A A能够完全LU分解,那么便可以通过直接解法解出 δ n \delta^n δn,然后加到 ϕ n \phi^n ϕn求出 ϕ n + 1 \phi^{n+1} ϕn+1,整个过程只需一次迭代。可是根据前文的分析,五对角矩阵 A A A无法完全LU分解,因此Stone的目标变成了尽可能的让 L U LU LU的乘积 M M M接近 A A A。计算 M δ M\delta Mδ的乘积可得
M δ = L U δ = M P δ P + M S δ S + M N δ N + M E δ E + M W δ W + M N W δ N W + M S E δ S E M\delta=LU\delta=M_P\delta_P+M_S\delta_S+M_N\delta_N+M_E\delta_E+M_W\delta_W+\\ M_{NW}\delta_{NW}+M_{SE}\delta_{SE} Mδ=LUδ=MPδP+MSδS+MNδN+MEδE+MWδW+MNWδNW+MSEδSE

node_index

A δ A\delta Aδ的乘积只有五项,对比来看多出了最后两项。因此Stone认为应尽量地消去最后两项。对 δ N W \delta_{NW} δNW做Taylor展开
δ N W ≈ δ P − ∂ δ ∂ x ∣ P Δ x + ∂ δ ∂ y ∣ P Δ y \delta_{NW}\approx\delta_P-\frac{\partial \delta}{\partial x}\bigg|_P\Delta x+\frac{\partial \delta}{\partial y}\bigg|_P\Delta y δNWδPxδPΔx+yδPΔy
∂ δ ∂ x ∣ P ≈ δ P − δ W Δ x \frac{\partial \delta}{\partial x}\bigg|_P\approx \frac{\delta_P-\delta_W}{\Delta x} xδPΔxδPδW
∂ δ ∂ y ∣ P ≈ δ N − δ P Δ y \frac{\partial \delta}{\partial y}\bigg|_P\approx \frac{\delta_N-\delta_P}{\Delta y} yδ

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值