• 検索結果がありません。

リープフロッグスキーム

第 4 章 1 次元移流方程式の数値解法

4.1.1 リープフロッグスキーム

時間微分にリープフロッグスキームを当てはめてみると次の式を得る.

un+1j −un−1j

2∆t =−cunj+1−unj−1

2∆x . (4.4)

スキームの作り方はこの他にもいろいろあることを強調しておく. (4.4) のように つくられたスキームの性質は振動方程式に当てはめた時間差分スキームの既知の 性質から推測することができる. (4.4)の解を,

uj = Re[U(t)eikjx] (4.5) と仮定し, (4.3)に代入すると,

∂t U eikjx

= c

2∆x U eik(j+1)∆x−U eik(j−1)∆x eikjxdU

dt = c

2∆xeikjx eikx−eikx U dU

dt = c

2∆x{(coskx+isinkx)(coskx−isinkx)}U

= c

2∆x2isinkx U

=i c

xsinkx

U. (4.6)

となる. (4.6)において,

ω ≡ − c

xsinkx (4.7)

とおけば, (4.6)は第3章で扱った振動方程式に等しくなる. よって, 1次元線形移流 方程式を差分化して安定性と位相の振る舞いを考察する方法は, 3章第2節の内容 と同じである. ただし周波数ωは(4.7)で与えられるものとする.

リープフロッグスキームを用いて(4.6)を時間差分化すると, Un+1 =Un1+ 2i

−ct

xsinkx

U n. (4.8)

第3章の表記を用いれば,

p≡ −ct

xsinkx. (4.9)

と書ける. したがって, (4.4)の性質は(4.7)と,振動方程式にリープフロッグスキー ムを適用するという既知の性質から推測することができる.

安定性の考察

3章2節の考察から, リープフロッグスキームの安定性に関して, すべてのωに対

して|p| ≤ 1という条件が必要であった. この条件を今回のスキームにあてはめる と,すべてのkに対して,

ct

xsinkx 1

であることが必要である. |sinkx|kの大きさに依らず高々1であるので,安定 性条件は,

|c|t

x 1 (4.10)

となる. 条件 (4.10)は CFL条件であり, 第2章で既に導出している. CFL条件は

tと∆xを単に小さくしただけでは安定性を得られないことを示している. 安定 性を得るために重要なことは ∆t

x の値を小さくすることである.

|p|が最大値をとるとき, すなわち最も不安定な場合は, kx = π

2 の波のときであ る. 対応する波長の長さは 2π

k = 4∆xであり,解像可能な最大波長の2倍の長さで ある.

計算モードと物理モード

Unには2つの解がある. 計算モードと物理モードである.

U1n =λn1U10,

U2n =λn2U20. (4.11)

λ1λ2 は第3章で定義した通り, λ1 =p

1−p2+ip, λ2 =p

1−p2+ip である. |p|≷0の場合,

λ1 =e, θ = arctan p p1−p2

! , λ2 =ei(±πθ) =−e.

(4.12)

(4.5)を用いると数値解unj は,

unj =X

k

untk eikjx

と表せる. 解が物理モードのみで構成されるとすると, unj = Re

U(t)eikjx

= Re

U10λn1eikjx

= Re

U10eniθeikjx

= Re h

U10eik(jx+k) i

= Re h

U10eik(jx+ktθ nt) i

. (4.13)

解が計算モードのみで構成されるとすると,同様にして, unj = Re

h

(1)nU20eik(jxktθ nt) i

(4.14) となる. (4.13)と(4.14)を, (4.1)の解析解のフーリエ表現,

u(x, t) = Re

U(0)eik(xct)

(4.15) と比較する. すると,物理モードの位相速度c1 は,

c1 = θ kt. 計算モードの位相速度c2 は,

c2 = θ kt. θ = arctan p

p1−p2

!

なので,∆t→0の極限では, p=−ct

xsinkx→0 (∆t→0).

ゆえに,

θ→p.

さらに,∆x→0の極限では,

c1 = θ kt

≈c となる. 同様にして,

c2 =−c.

ゆえに, 物理モードの位相速度は∆t 0, ∆x 0のとき解析解の位相速度cに 一致し,計算モードの位相速度は−cになることがわかる. また, (4.14)に(1)nが 含まれていることから,計算モードでは1ステップごとに符号を変える.

関連したドキュメント