偏微分课程课件6_双曲型方程的有限差分法(III)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2h
此格式是一阶精度的。 网格比 h
下面讨论稳定性:
设u
n j,m
v ne ik1 jhk2mh代入差分格式,有:
v n1
1 2
cos
k1
h
cos
k
2
h
i
a
s
in
k1
h
b
s
in
k
2
hv
n
G
, k1 , k2
1 2
cos k1h
cos k2h
i
a sin k1h
b sin k2h
G
2
1 4
un1 j,m
un j,m
1 {a
un1 j 1,m
un1 j 1,m
b
un1 j ,m 1
un1 j ,m 1
2
2h
2h
a
un j1,m
un j1,m
b
un j ,m 1
un j,m
1
}
0
2h
2h
精度:O( 2 h2 );无条件稳定
un1 j,m
un j,m
1 {a
un1 j 1,m
un1 j 1,m
un j 1
)
1 2
2
(v
n j1
2v
n j
v
n j 1
)
计算 u1n2 , v1n2
左边界需要附加边界条件
v n1 0
方法一、从特征形式出发
特征型: v v 0, x 0,t 0 t x
r v
S 1u
,
T
,
S 1
AS
1 0
0 1
S
1 2
1 1
1 1 ,
S 1
1 1
1
1
计算v0n1, 就转化为计算 0n1
y
其解为: ux, y, t u0 x at, y bt
一般设x y h,有:
(1) Lax-Friedrichs格式:
un1 j ,m
1 4
un j ,m 1
un j ,m1
un j 1,m
un j 1,m
a
un j 1,m
un j 1,m
b
un j ,m 1
un j ,m 1
0
2h
x 0 处边界条件数目等于
正特征值数目
vvIII t
III
vvIII x
0
零特征值不需给出边界条件
vvI是向左前进的,故需在x 1 处给出边界条件
vvI
1,
t
v
I
t
,且:vI
0
gvI
1
vvII向上传播,不需要任何边界条件。
vvIII向右传播,需给出x 0 处的边界条件:
vvIII
0,
t
u(0,t) (t),t 0且(0) g(0).
2. a 0,特征线向左倾斜,只在右边界x 1 给出边界条件。
u(1,t) (t),t 0且 (0) g(1).
X=0不能给边界条件
uv A uv 0, 0 x 1,t 0, t x 其中u (u1 ,L ,up )T , A R p p
采用迎风格式
n1 0
n 0
(1n
n 0
)
方法二、从方程本身出发
已知边界条件 u(0, t) 0 有: u(0,t) 0,t 0
t
ur A ur 0, t x
x>0, t>0
其中:
ur
(u,v),A
0 1
1
0
利用第一个方程:u(0, t) v(0, t) 0,
t
x
(1)一阶差商
un j 1
)
三层格式
需增补 u1j
u( x, t ) u( x, t ) u ( x, t ) O( 2 )
t
u( x, t) a u ( x, t) O( 2 )
x
t 0 u1j g(xj ) a g'(xj )
u x
a
u t
0(, a
0)0
x
1, t
0
u( x, 0) g( x), 0 x 1
u2n uJn
un n
00
Biblioteka Baidu
1nuJn
0n 1n
2.一阶双曲型方程及方程组的边界条件
对流方程
u t
a
u x
0,x (0,1)
0
t
T
u(x,0) g(x),x (0,1) (初始条件)
怎样给边界条件使方程适定,区域为{(x,t)|0 x 1,t 0}
a0
X=1不能给边界条件
1. a 0,特征线向右倾斜,只在左边界x 0 给出边界条件。
v
III
t
,且:vIII
0
gvIII
0
错误地给出边界条件,问题会不适定。
3.一阶双曲型方程及方程组的数值边界处理
例1:对流方程
u x
a
u t
0(, a
0)0
x
1, t
0
u( x, 0) g( x), 0 x 1
,
u(1, t)
( x), t
0
跳蛙格式:unj 1
un1 j
a(unj1
,
y 0
,
y
,
y
类似。
这是二阶格式,稳定性条件 a2 b2 1 2
(3) 分数步长法
为放宽稳定性条件而引入的技巧。
方法是:
第 一 步 由x方 向 的 差 分 把tn推 进 到tn
;
2
第 二 步 由y方 向 的 差 分 把tn
2
推 进 到t n+1。
一般形式:
n 1
u
j
,
2 m
un j ,m
a u b u x t y t
a2
2u 2ab
2u
b2
2u
x 2
xy y2
又由Taylor 展开,有
u x j , ym , t
I
a
x
b
y
2
2
a 2
2 x 2
2ab
2 xy
b2
2 y 2
u x j , ym , tn O 3
用二阶中心差商代替 偏导数,有Lax Wendroff 格式:
如果2 a 2 b2 1 2
即 a 2 b2 1 2
那么Von Neumann 条件满足,格式稳定。
若b a,则条件为 a 1
2
(2) Lax-Wendroff格式:
设ux, y, t 是方程 u a u b u 0的解,那么:
t x y
2u t 2
t
a
u x
b
u y
|xL
O(h3 )
u(L
2h)
u(L)
2h u x
|xL
(2h)2 2
2u x 2
|xL
O(h3 )
得方程组 a b c 0 b 2c 1; b / 2 2c 0
a 3 , b 2, c 1
2
2
二阶精度的边界条件
II: 3u3Jnu0n2
4u1n 2h 4uJn1 2h
+u1n
x x0 x1 x0
=(1 a )u0n a u1n u0n a(u1n u0n)
实际上是迎风格式
注:采用插值法构造边界条件要用内插公式, 使用外推方法往往是不行。即要用稳 定的格式构造边界条件.
例如:下面的两个不可用的边界条件
用u1, u2两点的值作线性插值,外推得u0 的值
S为A的特征向量的列所构成的矩阵
I -
S -1 AS
II 0
,其中
III
+
I 为对角线元素为负的对角阵 II 为对角线元素为零的对角阵
III 为对角线元素为正的对角阵
vv S-1uv vv vv 0 t x
I -
S -1 AS
II
0
III
+
vv S -1uv vv vv 0 t x
|x0
(2h)2 2
2u x 2
|x0
O(h3 )
得方程组 a b c 0 b 2c 1; b / 2 2c 0
a 3 , b 2, c 1
2
2
右边界
u x
|xL
auJ
buJ 1 h
cuJ 2
O(h2 )
确定a,b,c
u(L
h)
u(L) h u x
|L
h2 2
2u x 2
cos
k1
h
cos
k
2
h2
2 a sink1h b sink2h2
1
sin2 k1h sin2 k2h
1 2
2
a2 b2
1 4
cos
k1h
cos
k2h 2
2 a sin k1h b sin k2h 2
1
sin2
k1h sin2
k2h
1 2
2
a2
b2
(五)双曲型方程及方程组的初边值问题
1.二阶双曲型方程的边界处理
第一类边界:u|x0 0 (t ),u|xl 1(t )
直接转移法u0n 0 (n ) 0n ,uJn 1(n ) 1n
第三(二)类边界:
u x
0 (t )u x0
0 (t ),
u x
1
(t
)u
x
l
1(t )
un1 j,m
un j,m
2
a
x 0
un j,m
b
uy n
0 j,m
1 2
2
a
2
x
x
un j,m
1 2
ab
x 0
y 0
un j,m
b2
y
y
un j,m
其中:0x
un j,m
un j 1,m
un j 1,m
,
x
un j,m
un j 1,m
un j,m
x
un j,m
un j,m
un j 1,m
,
u(1, t)
( x), t
0
跳蛙格式:unj 1
un1 j
a(unj1
un j 1
)
由于a 0,给的边界条件是x 1的边界, 然而在 计算u13 的时候需要u02 的值.可是方程本身并没有 给出在x 0 的值.需要我们增补这些值。 比如采用如下可行的方法 :
11
数值边界条件(人工边界条件) n+1 p
u0n =2u1n u2n
再如
u0n1 =u0n1 2a(u1n u0n )
注:改进
un1 0
un1 0
a[u1n
1 2
(
un1 0
un1 0
)]
例2:考虑微分方程组(半无界问题)
ur A ur 0, t x
x>0, t>0
其中:
ur=(u,
v),A
0 1
1
0
定解条件为:u(0, t ) 0
(1) (2)
un1 0
un1 0
u0n a(u1n u0n )
un1 0
a[u1n
1 2
(u0n1
nx0
un1 0
)]
Q
x1
解释(1):根据特征线的性质有u(P) u(Q),
对于u(Q)可以采用插值给出,比如由x0 ,x1 进行 线性插值得到,即
un1 0
u(Q)
u0n
x x1 x0 x1
u a u b u 0 t x y
显式格式稳定性有条件限制,多维的更加严 格,因此考虑隐格式。 (4)隐式格式
全隐格式 精度:O( h2 );无条件稳定
un1 j,m
un j,m
a
un1 j1,m
un1 j1,m
b
un1 j ,m 1
un1 j ,m 1
0
2h
2h
Crank-Nicolson格式
u1n uJn
u0n h
0nu0n
0n ,(向前差分)
un J 1
h
1nuJn
(1n 向后差分)
构造二阶精度的边界条件
u x
|x0
au0
bu1 h
cu2
O(h2 )
确定a,b,c ?
u(h)
u(0)
h u x
|x0
h2 2
2u x 2
|x0
O(h3 )
u(2h)
u(0)
2h u x
v n1 0
v n1 1
t0
见72页
(2)二阶差商
3v0n1
4v1n1
v n1 2
0
利用第二个方程: v(0,t) u(0,t) , t 0
t
x
v n1 0
v0n
(u1n
u0n )
(六)二维问题
1 一阶双曲型方程
初值问题:
u t
a
u x
b
u y
0,
x,
y
,
t
0
u
x,
y,
0
u0
x,
y
,
x,
vvI I vvI =0, vvII II vvII =0, vvIII III vvIII =0
t
x t
x
t
x
vv(x,0) g(x),0 x 1
v I (1,t ) I (t ),
x 1 处边界条件数目等于 负特征值数目
vvI I vvI 0
t
x
v III (0,t ) III (t ),
b2
y
uy n
j,m
例如:以Lax-Wendroff格式来完成二步法
D1
a
1 2h
x 0
2
a2
1 h2
x
x
D2
b
1 2h
y 0
2
b2
1 h2
y
y
二阶精度
v
增长因子G( , k ) G2 ( ,k2 ) • G1( ,k1 )
| G1( ,k1 )| 1 |a| 1; | G2( ,k2 )| 1 |b| 1
(5)ADI(Alternate direction implicit ) 交替方向隐式格式
ADI-1:
X方向隐格式
1
a 2
x 0
n
u jm
1 2
unjm
1
b 2
y 0
un1 jm
n 1
ujm 2
Y方向隐格式
等价于
un1 jm
unjm
a 2h
x 0
un1 jm
b 2h
y 0
u( x, 0) ( x)
v( x, 0) g( x)
S 1 AS
1 0
0 1
思考:不能给出v(x,t)在x=0处的边界条件,
否则问题不适定。
采用Lax-wendroff 格式
un1 j
unj
1 2
(v
n j1
v
n j 1
)
1 2
2
(
un j1
2unj
un j 1
)
v
n1 j
v
n j
1 2
(unj1
b
un1 j ,m 1
un1 j ,m 1
2
2h
2h
a
un j1,m
un j1,m
b
un j ,m 1
un j,m
1
}
0
2h
2h
由于隐格式求解二维问题得到的线性方程组 其系数矩阵为宽带状,因此求解不甚顺利,
解决方案:交替方向隐式(ADI )格式 (Alternate Direction Implicit )
D1unj ,m
un1 j ,m
n 1
u2 j ,m
n 1
D2
u
j
2 ,m
un1 j,m
un j,m
2
au0xunj,mnj,12m bunj0,ymunj,m D1unj,m
1 2
2 uanj,2m1
x
uux nn 1
j ,jm,m2
12 aDb2 u0x nj ,m0y12unj ,m