当前位置:文档之家› 2.3 双曲型方程的差分方法

2.3 双曲型方程的差分方法


a
u
n j 1
u
n j 1
2h
0
u
n 1 j
u
n 1 j
a (u h

n j 1
u
n j 1
)
6)利用特征线构造差分格式
利用双曲型方程的解在特征线为常数这一事实也可以构造出以上差分格式。
为确定起见,不妨设 a>0 。
设在 计算 t
点特征线与 BC 交于 Q
tn1 时间层上的网格点 P
差分格式(E)称为两步Lax-wendroff显示格式。
4)MacCormack二步二阶精度的显示格式
由(C)式 有:
u ( j, n) a 2 2 2u ( j, n) 3 u ( j, n 1) u ( j, n) a o ( ) 2 x 2 x
而:
u n 1 ( ) j [u ( j 1, n) u ( j 1, n)] o( h 2 ) x 2h

h a, 1 因此Lax-Friedrichs格式的截断误差
) , 如果 a 1,上两式相等。
(Trunction error)TE比迎风格式TE大。
3)Lax-wendroff格式
迎风格式和Lax格式是一阶精度的差分格式,1960年Lax和Wendroff构造出 一个二阶精度的格式。
略去高阶项,可以得到如下的差分格式:
2 2 a a n 1 n n n n n u j u j (u j 1 u j 1 ) 2 (u n 2 u u j 1 j j 1 ) 2h 2h
(D)
差分格式(D)称为Lax-wendroff格式。 讨论:1 该格式的稳定性条件为 a 1 h 2 二阶精度显示格式。 我们也可以建两步Lax-wendroff格式,对(D)式进行改造:
把上两式代入(B)式,得
u a 2 2 2u u ( j, n 1) (u a ......) j ,n 2 x 2 x
(C)
而:
1 u j , n [u ( j 1, n) u ( j 1, n)] O(h 2 ) x 2h 2 1 2 u j , n [ u ( j 1, n ) 2 u ( j , n ) u ( j 1, n )] O ( h ) 2 2 x h
(F)
u n ( )j x

2u n ( 2 )j x
代入(C)式,得:
略去高阶小量,可得如下的差分格式:
u
n 1 j
1 n 1 u j [(1 a )(1 a )u]nj 2 2 x f xb
(G)
若引入:
u
n 1 j
n (1 a )u j xb
把此两式代入(C)式,得:
a u ( j , n 1) u ( j , n) [u ( j 1, n) u ( j 1, n)] O( h 2 ) 2h a 2 2 2 [u ( j 1, n) 2u ( j , n) u ( j 1, n)] O( 2 h 2 ) O( 3 ) 2h
(1) 利用
B, C 两点线性插值
u( P) u(Q) u( BxB xC xB
a (h a ) u ( B) u (C ) h h a a (1 )u (C ) u ( B) h h h (1 a )u (C ) au ( B)
该格式称为Lax-Friedrichs格式,也称为Lax格式。
讨论:
a 1 ; 1 )稳定性条件为 h
2 )截断误差为 o( h ) o(
2
h2
所以该格式为一阶精度。

) ,一般取

h
const
3 )该格式可以不考虑对应的微分方程的特征线的走向,而迎风格 式需考虑特征线的走向。为此,我们也可以把迎风格式写成统一 的形式:
1 {[u ( j 1, n) u ( j , n)] [u ( j , n) u ( j 1, n)]} o(h 2 ) 2h
1 u n u n [( ) j ( ) j ] o(h2 ) 2 x f xb
2u n u n ( 2 )j ( ) j o(h2 ) x x f xb
1 n un u j j

a
n un u j 1 j 1
2h
0
该格式是绝对不稳定的差分格式。 1954年,Lax和Friedrichs为克服上述格式的不稳定性,提出了如下的差分格式:
u
n 1 j
1 n n n (u j 1 u n j 1 ) u j 1 u j 1 2 a 0 2h
1 n a n n (u j 1 u j 1 ) (u j 1 u n j 1 ) 2 2
Lax-Friedrichs格式
改写为:
u
n 1 j
(3) 如果使用
B, C

D
三个点进行抛物插值,则得到
u( P) u(Q) u( B)
( xQ xC )( xQ xD ) ( xB xC )( xB xD )
x at
推导:
du u u dx dt t x dt
令:
dx a x at dt du 0 u ( x, t ) c dt c u ( x, 0) u0 ( x) u0 ( ) u ( x, t ) u0 ( x at )
u n 2 ( ) j o(h ) xb x f

a u u n u( j, n 1) u( j, n) ( )j 2 x f xb
a 2 2 u n ( ) j o( h2 ) o( 2 h2 ) o( 3 ) 2 x f xb
1 n un u j j n un u j j 1 n un u j 1 j

1 a a 2
h
1 a a 2
h
0
实际上,这两种格式还是有很大的区别,现仅从截断误差来考虑,现假设 a>0,此时迎风格式可写为:
1 n un u j j
而Lax-Friedrichs可写为:
两点线性插值:
1
1
a
xb f ( x) a b
f (a)
b
a
b
xa f ( x) ba
f (b)
x b xa f ( x) f (a) f (b) a b ba
a
b
三点抛物线插值:
1
1
1
a
f ( x)
b
( x b)( x c) (a b)(a c)
t tn
时间层上网格点
A、B、C
点的

D
上的
u
值给定。现
CFL 条件成立,过 P u ( P) u (Q) ,当 Q 不是 ,由解的性质可知,
值。假定
u
u (Q ) 是未知的,但可以用插值方法给出 u (Q ) 近似值。 网格点时,
P
n 1
n
A j2 B j 1
Q
C j
D j 1
j2
u
n 1 j
a 1 n 1 a n n u {[ (u j 1 u j ) (u j 1 u n j )] h 2 2 h
n j
1 n 1 a n n [ (u j u j 1 ) (u j u n j 1 )]} 2 2 h
这样,上式就可写为:
1 a( ) n 1 1 n n n n 2 2 u ( u u ) ( u u ) 1 j 1 j j 1 j j 2 h 2 1 1 (E) n 1 n n a n 2 2 u u ( u u j j 1 1 ) j j h 2 2
c
a
b
c a
b
c
( x a)( x c) f ( x) (b a)(b c)
( x a)( x b) f ( x) (c a)(c b)
f (a)
f (b)
b
f (c )
a
f ( x) f (a )
c
( x b)( x c) ( x a)( x c) ( x a)( x b) f (b) f (c ) (a b)(a c) (b a)(b c) (c a)(c b)
1 n un u j j

a
n un u j 1 j 1
2h
n n 2 u u a h un j 1 j j 1 2 h2

a
n un u j 1 j 1
2h
n n n u 2 u u h j 1 j j 1 2 2 h
上两式是左边相同,他们都以o( h2 ) 趋近于对流方程。因此这两 种格式的截断误差取决于两式的右端项的大小。 由稳定性限制要求有 a 1( 但在实际中总是取
u(C )
( xQ xB )( xQ xD ) ( xC xB )( xC xD )
u( D)
( xQ xC )( xQ xB ) ( xD xC )( xD xB )
a (h a ) ( h a )( h a ) ( h a ) a u (C ) u ( D) h 2h hh 2h h 1 u (C ) a[u (C ) u ( B )] a (1 a )[u ( B ) 2u (C ) u ( D)] 2 u ( B)
计算力学基础
第二章 有限差分方法
相关主题