第四章 有限差分方法
§4.1 引言
一阶微分的中心差商:
h
)
f x
(
f x
(
h
+
−
i
i
f
' (
x
i
)
≈
)
−
h
2
. (4.1.3)
一阶微分的向前,向后一阶差商:
f
' (
x
i
)
≈
f x
(
i
+
f x
(
i
)
, (4.1.4)
−
h
)
h
f x
(
h
f x
(
)
−
−
h
)
i
i
' (
i
)
x
≈
f
二阶微分的中心差商:
2
f x
(
h
+
−
)
f
'' (
x
i
)
≈
i
. (4.1.5)
)
+
f x
(
i
−
h
)
i
f x
(
2
h
. (4.1.6)
拉普拉斯算符在 0 点作用在此函数上的值,也可以用临近的点上的函
h
数值来表示出来。(
1
f
4
−
时)
h
2
h
4
h
3
=
=
=
=
h
+
+
+
f
f
(4.1.7)
2
≈∇
f
0
.
f
1
4
2
f
3
h
2
节点 0 及邻近节点。
§4.1 有限差分法和偏微分方程
在边界值问题中,边界上的信息是给定的。
假定某方程形式上可以写为:
L
qφ= . (4.2.1)
其中 L为含偏微商的算符.它的边界条件一般可写为:
|
φ
G
+
sg
)(
1
).
(4.2.2)
这里 G 表示场域 D 的边界,
为边界上 s 点的逐点函数。
=
∂φ
sg
(
2
n
∂
sgsg
)(
(
1
|
G
),
2
(1)第一类边界条件, Dirichle)问题 (
g
1
=
g
20
,
≠ 。
0
)
G =φ
|
sg
(
).
(4.2.3)
(2)第二类边界条件, Neumann 问题 (
g
1
≠
g
,
20
= 。
)
0
∂φ
|
n G =
∂
sg
(
).
(4.2.4)
g
1
≠
g
,
20
≠ 。
)
0
(3)第三类边界条件,或称混合问题 (
对于算符 L 为斯杜-刘维尔(Sturm-Liouville)算符的特定情
况,即
L
势函数起关键作用的许多问题当中的基本方程。当 p=1, f=0 时,
我们得到泊松(Poisson)方程。
. (4.2.5)
≡ −∇ ∇ +
(
p
)
f
2
∂ φ
2
x
∂
+
2
∂ φ
2
y
∂
+
f x y
( ,
)
φ
=
q x y
( ,
). 4.2.6)
该方程的差分表达式为
(
∇
)
2
φ
0
=
2
h
3
(
φφ
1
0
)
−
+
hhh
(
31
1
h
1
+
⎡
⎢
⎣
−
(
φφ
0
h
3
3
)
h
4
)
+
2
(
φφ
0
)
−
+
hhh
(
2
4
2
h
2
+
−
(
φφ
0
h
4
)
4
如果在 x 和 y 方向的步长分别相等, 即 h
1
时,则上式化为
−
φ φ φ φ φ φ
4
−
+
+
1
3
2
2
h
x
0
2
+
2
h
y
0
2
+
f
φ
0 0
=
q
0
, (4.2.19)
)
⎤
+⎥
⎦
h
3=
f
φ
0
0
=
q
0
= 和 h
hx
2
h
4=
=
hy
一般可以用角标来表示节点的标记,将上式写为
2
φ φ
i j
,
+
i j
,
)
+
1
−
f
φ
i j
,
i j
,
q
= , (4.2.20)
i j
,
j, 所满足的差分方程。通常称为“五点格式”或“菱形
j
j
y
x
)
1
+
i j
,
−
+
+
−
,
1
−
,
1
+
(
φ
i
(
φ
i j
,
1
2
h
2
φ φ
i
1
2
h
这就是φi
格式”,特别是当 h
φ
φ
−
i j
i
i j
,
,
对于 f = 0 ,泊松方程为:φ
h
y=
2
h f
(
+
φ
i j
,
φ
i
h
1
,
−
1
,
+
+
+
+
1
+
1
−
x
j
j
= 时,我们得到:
4
)
φ
i j
,
=
2
h q
i j
,
+
φ
i
1
,
−
j
+
φ
i j
,
j
1
+
i
1
,
+
, (4.2.21)
+
, 。
i j
4
φ
i j
,
2
h q
φ
i j
,
−
=
1
−
对于 f
+
φ
i
1
,
+
j
q= = 0的拉普拉斯方程,
=
φ
i
4
φ
i j
,
φ
i j
,
φ
i j
,
1
,
−
j
−
1
−
+
+
1
+
0
, (4.2.23)
二维情况边界条件的离散化的处理:
(1) 第一类边界条件
在二维情况下,如果网格的边界节点恰好落在边界 G 上,
则显然无需再做近似处理,边界节点的函数值就等于边界条件
给出的函数值。
网格边界节点不在边界上,我们通常用以下三种方法处
理。
(a) 直接转移法
我们取最靠近 0 点的边界节点上的函数值作为 0 点的函数
值。又称为零次插值法。
场域的第一类边界条件
(a) 线性插值法
先判断 x 方向的边界节点 1 和 y 方向的边界节点 2 哪一个
更靠近 0 点。
如果 1 更靠近 0 点,则可以用 x方向的线性插值给出 0
点的函数值:
h
h
φφ
+
1
31
hh
+
1
φ
0
=
(4.2.24)
,
2. 计算格式的建立
)mj
,
y
)
l
(
l
e
)(
l
,
l
)
xϕϕ ≡
()(
e
,= 标记三角形元素(e)三个顶点上的函数值
i
yxϕ 在(e)内近似认为是随 yx, 线性变化的。这相当于在
,(
函数
这个局域范围内,场可以看成是近似均匀的。这样我们可以用线性插
值法来构造在元素(e)内部任一点上的势函数值 (
)yx,ϕ ,即
)
=
g
1
+
ygxg
2
3
+
. (5.2.2)
1, gg 和 3g 由元素(e)上的三个节点的函数值来决定。
=ϕϕ
yx
,(
其中 2
g
g
g
1
xg
+
1
2
xg
+
1
2
xg
+
2
m
j
i
+
+
+
yg
3
yg
3
yg
3
m
i
j
=
=
=
(
yx
,
ϕ
i
i
(
y
x
,
ϕ
(
x
y
,
ϕ
j
m
)
=
ϕ
i
)
=
ϕ
j
)
=
ϕ
m
j
m
⎫
⎪
⎬
⎪
⎭
.
由此很容易解出:
g
1
g
g
2
3
=
=
=
i
j
(
a
ϕϕ
i
j
(
b
ϕϕ
i
j
(
c
ϕϕ
i
j
+
+
+
a
b
c
j
i
j
i
+
+
+
a
b
c
ϕ
mm
ϕ
mm
ϕ
mm
)
)
)
2
Δ
2
Δ
2
Δ
⎫
⎪
⎬
⎪
⎭
. (5.2.3)