本文针对偏微分方程数值解中出现的一道例题进行分析,详细介绍了五点差分格式的公式推导及应用。
在单位正方形 Ω ‾ : 0 ⩽ x ⩽ 1 , 0 ⩽ y ⩽ 1 \overline{\Omega}:\,0\leqslant x\leqslant1,\,\,0\leqslant y\leqslant1 Ω:0⩽x⩽1,0⩽y⩽1上,
{ Δ u = − 16 , ( x , y ) ∈ Ω u ∣ x = 1 = 0 , ∂ u ∂ y ∣ y = 1 = − u ∂ u ∂ x ∣ x = 0 = ∂ u ∂ y ∣ y = 0 = 0 \left\{\begin{aligned} &\Delta u=-16,\quad (x, y)\in\Omega\\ &u|_{x=1}=0,\quad \frac{\partial u}{\partial y}|_{y=1}=-u\\ & \frac{\partial u}{\partial x}|_{x=0}=\frac{\partial u}{\partial y}|_{y=0}=0\\ \end{aligned}\right. ⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧Δu=−16,(x,y)∈Ωu∣x=1=0,∂y∂u∣y=1=−u∂x∂u∣x=0=∂y∂u∣y=0=0
在 Ω ‾ \overline{\Omega} Ω上布置以 h = 1 4 h=\frac14 h=41为步长的正方形网格,写出五点差分格式解上述问题的方程组。
由于其步长为 h = 1 4 h=\frac14 h=41,再根据边值条件,可知
x = 1 x=1 x=1这条轴上的五个点其值均为 0 0 0,故可得图如下,一共有20个未知量,其中有9个正则内点和11个边界点。
首先计算内点:
对于9个正则内点 u i , j , i = 1 , 2 , 3 ; j = 1 , 2 , 3 u_{i,j},i=1,2,3;j=1,2,3 ui,j,i=1,2,3;j=1,2,3,由五点差分格式公式可以得到:
u i + 1 , j + u i , j + 1 + u i , j − 1 + u i − 1 , j − 4 u i , j = − 16 × 1 4 2 = − 1 u_{i+1,j}+u_{i,j+1}+u_{i,j-1}+u_{i-1,j}-4u_{i,j}=-16\times\frac{1}{4^2}=-1 ui+1,j+ui,j+1+ui,j−1+ui−1,j−4ui,j=−16×421=−1
即:
4 u i , j − ( u i + 1 , j + u i , j + 1 + u i , j − 1 + u i − 1 , j ) = 1 , i , j = 1 , 2 , 3 (1) 4u_{i,j}-(u_{i+1,j}+u_{i,j+1}+u_{i,j-1}+u_{i-1,j})=1,\quad i,j=1,2,3 \tag{1} 4ui,j−(ui+1,j+ui,j+1+ui,j−1+ui−1,j)=1,i,j=1,2,3(1)
再计算边界点:
①对于下边界 ∂ u ∂ y ∣ y = 0 = 0 \left.\frac{\partial u}{\partial y}\right|_{y=0}=0 ∂y∂u∣∣∣y=0=0,用一阶中心差商代替一阶偏导数,得到
u i , 1 − u i , − 1 2 h = 0 , \frac{u_{i,1}-u_{i,-1}}{2h}=0, 2hui,1−ui,−1=0,
即 u i , 1 = u i , − 1 u_{i,1}=u_{i,-1} ui,1=ui,−1,又因为 j = 0 j=0 j=0时,
4 u i , 0 − ( u i + 1 , 0 + u i , 1 + u i , − 1 + u i − 1 , 0 ) = 1 , 4u_{i,0}-(u_{i+1,0}+u_{i,1}+u_{i,-1}+u_{i-1,0})=1, 4ui,0−(ui+1,0+ui,1+ui,−1+ui−1,0)=1,
代入 u i , 1 = u i , − 1 u_{i,1}=u_{i,-1} ui,1=ui,−1得到
2 u i , 0 − ( 1 2 u i + 1 , 0 + u i , 1 + 1 2 u i − 1 , 0 ) = 1 2 , i = 1 , 2 , 3 (2) 2u_{i,0}-\left(\frac12 u_{i+1,0}+u_{i,1}+\frac12 u_{i-1,0}\right)=\frac{1}{2},\quad i=1,2,3\tag{2} 2ui,0−(21ui+1,0+ui,1+21ui−1,0)=21,i=1,2,3(2)
②对左边界 ∂ u ∂ x ∣ x = 0 = 0 \left.\frac{\partial u}{\partial x}\right|_{x=0}=0 ∂x∂u∣∣x=0=0,同理得到:
2 u 0 , j − ( 1 2 u 0 , j + 1 + u 1 , j + 1 2 u 0 , j − 1 ) = 1 2 , j = 1 , 2 , 3 (3) 2u_{0,j}-\left(\frac12 u_{0,j+1}+u_{1,j}+\frac12 u_{0,j-1}\right)=\frac{1}{2},\quad j=1,2,3\tag{3} 2u0,j−(21u0,j+1+u1,j+21u0,j−1)=21,j=1,2,3(3)
③对上边界 ∂ u ∂ y ∣ y = 1 = − u \left.\frac{\partial u}{\partial y}\right|_{y=1}=-u ∂y∂u∣∣∣y=1=−u,用一阶中心差商代替一阶偏导数,得到 u i , 5 = u i , 3 − 1 2 u i , 4 u_{i,5}=u_{i,3}-\frac12 u_{i,4} ui,5=ui,3−21ui,4,所以得到:
9 4 u i , 4 − ( 1 2 u i + 1 , 4 + u i , 3 + 1 2 u i − 1 , 4 ) = 1 2 , i = 1 , 2 , 3 (4) \frac94 u_{i,4}-\left(\frac12 u_{i+1,4}+u_{i,3}+\frac12 u_{i-1,4}\right)=\frac{1}{2},\quad i=1,2,3\tag{4} 49ui,4−(21ui+1,4+ui,3+21ui−1,4)=21,i=1,2,3(4)
④对点 u 0 , 0 = ( 0 , 0 ) u_{0,0}=(0,0) u0,0=(0,0),根据下边界和左边界的式子,可以分别得到:
2 u 0 , 0 − ( 1 2 u 1 , 0 + u 0 , 1 + 1 2 u − 1 , 0 ) = 1 2 , 2u_{0,0}-\left(\frac12 u_{1,0}+u_{0,1}+\frac12 u_{-1,0}\right)=\frac{1}{2}, 2u0,0−(21u1,0+u0,1+21u−1,0)=21,
2 u 0 , 0 − ( 1 2 u 0 , 1 + u 1 , 0 + 1 2 u 0 , − 1 ) = 1 2 , 2u_{0,0}-\left(\frac12 u_{0,1}+u_{1,0}+\frac12 u_{0,-1}\right)=\frac{1}{2}, 2u0,0−(21u0,1+u1,0+21u0,−1)=21,
以及内点差分方程 ( 1 ) (1) (1)式
4 u 0 , 0 − ( u 1 , 0 + u 0 , 1 + u 0 , − 1 + u − 1 , 0 ) = 1 4u_{0,0}-\left(u_{1,0}+u_{0,1}+u_{0,-1}+u_{-1,0}\right)=1 4u0,0−(u1,0+u0,1+u0,−1+u−1,0)=1
可得:
u 0 , 0 − 1 2 u 1 , 0 − 1 2 u 0 , 1 = 1 4 . u_{0,0}-\frac{1}{2}u_{1,0}-\frac{1}{2}u_{0,1}=\frac14. u0,0−21u1,0−21u0,1=41.
⑤对点 u 0 , 4 u_{0,4} u0,4,同理可由左边界和上边界的式子分别得到:
2 u 0 , 4 − ( 1 2 u 0 , 5 + u 1 , 4 + 1 2 u 0 , 3 ) = 1 2 , 2u_{0,4}-\left(\frac12 u_{0,5}+u_{1,4}+\frac12 u_{0,3}\right)=\frac{1}{2}, 2u0,4−(21u0,5+u1,4+21u0,3)=21,
9 4 u 0 , 4 − ( 1 2 u 1 , 4 + u 0 , 3 + 1 2 u − 1 , 4 ) = 1 2 , \frac94 u_{0,4}-\left(\frac12 u_{1,4}+u_{0,3}+\frac12 u_{-1,4}\right)=\frac{1}{2}, 49u0,4−(21u1,4+u0,3+21u−1,4)=21,
以及内点差分方程 ( 1 ) (1) (1)式
4 u 0 , 4 − ( u 1 , 4 + u 0 , 5 + u 0 , 3 + u − 1 , 4 ) = 1. 4u_{0,4}-\left(u_{1,4}+u_{0,5}+u_{0,3}+u_{-1,4}\right)=1. 4u0,4−(u1,4+u0,5+u0,3+u−1,4)=1.
可得:
9 8 u 0 , 4 − 1 2 u 1 , 4 − 1 2 u 0 , 3 = 1 4 . \frac98u_{0,4}-\frac{1}{2}u_{1,4}-\frac{1}{2}u_{0,3}=\frac14. 89u0,4−21u1,4−21u0,3=41.
在运用五点差分格式时,要把握好对初值及边值条件的求解,其步骤一般为:
在进行计算时,还可以整理成矩阵的形式,便于计算机求解。
[1] 常微分数值方法部分课后习题答案