GFDワークゼミ 時間差分スキーム(4) 1
時間差分スキーム (4)
アダムス - バッシュフォース (Adams-Bashforth) スキームの安定性と 位相
ここでは2次のアダムス-バッシュフォーススキームについて振動方程式に当ては めた場合の安定性と位相比について述べる. 2 次のアダムスバッシュフォースス キームは
Un+1 =Un+ ∆t (3
2fn−1 2fn−1
)
と表せる. 今,f =iωU とすると, Un+1 =Un+ ∆t
(3
2fn−1 2fn−1
)
=Un+iω∆t (3
2Un− 1 2Un−1
)
. (1)
増幅係数λを用いてUn+1とUnをUn−1で表すと, Un =λUn−1,
Un+1 =λUn =λ2Un−1. これらを(1)式に代入すると
λ2Un−1 =λUn−1+iω∆t (3
2λUn−1−1 2Un−1
)
= (
1 + 3
2(iω∆t) )
λUn−1− 1
2(iω∆t)Un−1 となる. ここでp≡ω∆tとすると
λ2− (
1 +i3 2p
)
λ+i1
2p= 0. (2)
2014˙0911˙kawahara.tex 2014/09/11(川原 健史)
GFDワークゼミ 時間差分スキーム(4) 2
(2)式からアダムス-バッシュフォーススキームもリープフロッグスキームと同様に 2つのλをもつ. (2)式をλについて解くと,
λ1 = 1 2
[ 1 +i3
2p+
√ 1− 9
4p2+ip ]
,
λ2 = 1 2
[ 1 +i3
2p−
√ 1−9
4p2+ip ]
.
(3)
p → 0のとき, λ1 → 1, λ2 → 0である. したがって, λ1 に対応するモードを物理 モード, λ2 に対応するモードを計算モードと解釈できる. pが十分小さいとき, 計 算モードは減衰する. これはアダムス-バッシュフォーススキームの利点である. そ こで, |p| < 1のときの λ1 とλ2 の振る舞いを(3)式を用いて調べる. (3)式 の根号 の部分をテイラー展開し,地道に計算すると,
λ1 = 1 +ip− 1
2p2+i1 4p3− 1
8p4+· · · , λ2 =i1
2p+1
2p2−i1 4p3+1
8p4+· · ·. 実部と虚部に分けて表すと,
λ1 = (
1− 1 2p2− 1
8p4− · · · )
+i (
p+1
4p3+· · · )
, λ2 =
(1 2p2+ 1
8p4+· · · )
+i (1
2p− 1
4p3− · · · )
2014˙0911˙kawahara.tex 2014/09/11(川原 健史)
GFDワークゼミ 時間差分スキーム(4) 3
となる. ここで,増幅率を計算すると,
|λ1|=√ λ1λ∗1
∼
√{(
1− 1 2p2− 1
8p4 )
+i (
p+ 1 4p3
)} {(
1− 1 2p2− 1
8p4 )
−i (
p+1 4p3
)}
=
√(
1− 1 2p2− 1
8p4 )2
+ (
p+1 4p3
)2
=
√ 1 + 1
2p4+o(p6)
∼
√ 1 + 1
2p4
∼1 + 1
4p2 >1,
|λ2|=√ λ2λ∗2
∼
√(
i1 2p+1
2p2 ) (
−i1 2p+ 1
2p2 )
=
√1 4p4 +1
4p2
= p 2
√1 +p2
∼ p 2
( 1 + 1
2p2 )
<1
となる. つまりアダムス-バッシュフォーススキームの物理モードは不安定であり, 計算モードは安定で減衰する.
また,リープフロッグスキームの時と同様にアダムスバッシュフォームスキームの 物理モードの位相の振る舞いを調べると,
2014˙0911˙kawahara.tex 2014/09/11(川原 健史)
GFDワークゼミ 時間差分スキーム(4) 4
θ1 p = 1
parctanλ1,im λ1,re
∼ 1
parctan p+14p3 1−12p2− 18p4
= 1 p
{ p+14p3
1− 12p2−18p4 − 1 3
( p+ 14p3 1− 12p2− 18p4
)3
+1 5
( p+14p3 1−12p2 −18p4
)5
+· · · }
∼ 1 + 14p2
1− 12p2− 18p4 − 1 3p
( p+14p3 1−12p2− 18p4
)3
= (
1 + 1 4p2
) ( 1 + 1
2p2 +o(p4) )
− 1 3p
( p+ 1
4p3 )3(
1 + 1
2p2 +o(p4) )3
= 1 + 1 2p2+ 1
4p2− 1
3p2+o(p3)
= 1 + 5
12p2+o(p3)>1
となり, 真の解よりも位相が早く進む. ここで, 4行目から5行目の変形には,以下 のテーラー展開の式を用いた.
1
1− 12p2− 18p4 = 1 + (1
2p2+ 1 8p4
) + 1
2 (1
2p2+1 8p4
)2
+· · ·
= 1 + 1
2p2+o(p4)
2014˙0911˙kawahara.tex 2014/09/11(川原 健史)