振動問題についての時間差分の安定性

時間差分方式の性質を考える標準的方法のひとつは、 振動数がわかった単振動を与えて、ふるまいを調べることである。 ひとつの振動数に限定すれば、 微分は現われず、代数の問題になってしまう。ただし、複素数の代数である。 ここでは、気象モデルの基礎として使われている議論を、 新田ほか (1972) の p. 13 -- 17 (この部分の執筆者: 遠藤、大林、岩嶋)に 沿って説明する。

単振動の微分方程式は、複素数を使うと、

 d Z
----- = i ω Z                                              (1)
 d t
のように書くことができる。真の解は
Z = Z0 exp(iωt)                                 (2)
である。 1ステップ Δtでの変化を
Z(t+Δt) = Atrue Z(t)                                      (3)
のように書けば、 Atrue = exp(iωΔt)となる。 ここで、Ω = ωΔtという記号を導入する。 これは無次元の量であり、差分の時間ステップと、 振動の周期の2π分の1との比になっている (2πで割るのは以下の式の形を簡単にするためである)。 したがって、Atrue = exp(iΩ)である。

差分計算によるΔtでの変化を

Z(t+Δt) = A Z(t)                                           (4)
のように書けば、Aは1ステップでZがなん倍になるかを 表わしているが、複素数である。 Aの絶対値 |A| が振動の振幅の増幅率、 Aの偏角 arg(A) = arctan( Im(A) / Re(A) ) が振動の位相の変化を表わす。 単振動の場合、|Atrue| = 1 で、 これは振動の振幅が一定であることに対応している。 差分近似したとき、 |A|が1より大きければ、振動は計算上増幅し、 1より小さければ、減衰することになる。 実際に差分方式を使う場合、 現実に存在しないか、小さな振幅であるような振動の振幅が、 どんどん増幅することにより、計算結果が大きくあばれることが、 計算の誤差を大きくすることが多い。 したがって、|A|が1より大きい差分方式は、「不安定」であるといい、 好まれない。 |A|が1より小さい方式は「安定」であるという。 |A|が1に等しい方式は、「中立」であるというが、安定に含めることもある。 位相については、arg(A)が arg(Atrue) = Ωよりも 大きい場合は振動の位相が進み、 Ωよりも小さい場合は遅れることになる。 もちろん、Ωとの差が小さいことが望ましいが、 安定性に比べれば優先順位が低い性質である。

前方・後方・台形公式

いくつかの差分方式について、具体的に見てみよう。 (1)式を、2つの時間ステップを使った差分方式で近似したものは、

Z(t+Δt) - Z(t) = i Ω (α Z(t) + β Z(t+Δt) )             (5)
のように書くことができる。 ただし、 である。

(5)を Z(t+Δt)について解き、(4)のようにAを定義すれば、

     1 + iΩα
A = -----------                                             (6)
     1 - iΩβ
となる。

予測修正法

次に、予測修正法について見てみる。

前方予測・後方修正法(気象モデル関係者は松野スキームという)は、

Z(t+Δt) - Z(t) = iΩZ(t)
Z(t+Δt) - Z(t) = iΩZ(t+Δt)
のように書けるが、仮の値を消去して整理すると、
A = 1 + iΩ - Ω2
したがって
|A| = (1 - Ω2 + Ω4)1/2
となり、Ωが1以下なら安定、1より大きければ不安定である。

前方予測・台形修正法は、同様に調べると、常に不安定だが、 前方差分よりは、Ωが約1以下のところでは、 不安定のどあいが小さい(増幅率が1に近い)。

中央差分

中央差分は、

Z(t+Δt) - Z(t-Δt) = 2iΩZ(t)
のように、3つのステップが関係する。これを次のように連立方程式の 形に書いてみる。
 Z(t+Δt)     2iΩ    1      Z(t)
(        ) = (          )  (          )
 Z(t)          1      0      Z(t-Δt)
ここでは、1ステップ間の変化は、1つの複素数Aがかかる代わりに、 上の式の右辺に出てくる行列がかかることで表現される。 この行列には固有値が2つあるが、その絶対値がいずれも1以下ならば この差分方式は安定であり、どちらかの絶対値が1より大きければ 不安定である。 実際に固有値を計算してみると、
λ1 = iΩ + (1 - Ω2)1/2
λ2 = iΩ - (1 - Ω2)1/2
のようになるが、Δt → 0 (ωは変えない)の極限で、 λ1 → 1, λ2 → -1となるから、 λ1は微分方程式の解と対応するが、 λ2は対応しない、全く差分計算方式上の固有モードである。 (この計算上のモードの絶対値を大きくしないためには、 初期値の与えかたが重要である。) また、固有値の絶対値を調べると、 となる。Ω = 1の場合は、議論は省略するが、不安定であるとされている。 結論としては、安定性の観点から、中央差分が有効なのは ωΔt < 1の範囲であることがわかった。

参考文献


2000-07-03; 2002-07-11
増田 耕一 (MASUDA Kooiti)

[目次へ]