有限差分法による 時間発展問題の解法

有限差分法による
時間発展問題の解法の基礎
地球流体力学研究室
川畑 拓也
1
目次
1. 目的
2. 関数の離散化
3. 差分近似と有限差分
法
4. 移流方程式の有限差
分解法
5. 数値計算において重
要な事柄
6. 打切り誤差
7. 適合性
8. 収束性
9. 安定性
10. 丸め誤差
11. まとめ
12. 今後の方針
13. 参考文献
2
1. 目的
• 金星の雲対流は地球の雲対流とはかなり異なる
ようだ
• 金星の雲対流を数値シミュレーションにより解明
したい
• Mesinger & Arakawa (1976) に沿って
– 数値計算で用いる代表的な手法 の一つである有限
差分法を理解する
– 差分化・数値計算に伴う問題の概要を知る
3
2. 関数の離散化
• 簡単のため、独立変数 x の関数 u  u (x) を
考える
– x軸上のとびとびの点で u(x) を表わし、微分を差
分で近似して数値計算する
• 分割した点のことを格子点と呼ぶ
– ある区間を j 分割して
u j  u ( jx)
Δx
uj
x : 差分間隔
u j  u ( jx)
x
0
1
2
3
・・・
j-1
j
4
3. 差分近似と有限差分法
• 差分近似

– 例えば u ( jx) を以下のように近似
x
u j 1  u j
u j  u j 1
u j 1  u j 1
x
x
2x
前進差分近似
後退差分近似
中心差分近似
• 差分近似を元の方程式へ代入し、数値計算
する
有限差分法
5
4. 移流方程式の有限差分解法
• 移流方程式
u
u
c
0
t
x
:
u  u ( x, t )
,
c0
(定数)
…①
• 差分近似すると
u nj 1  u nj
t
c
u nj  u nj1
x
 0.
…②
2変数の差分化
F. Mesinger and A. Arakawa (1976)
– 式②は式①を差分化した式
n
u
– j  u( jx, nt )
– Δx、Δtはそれぞれ x と t の差分間隔
6
5. 数値計算において重要な事柄
• 打切り誤差 (truncation error)
– 差分化したときに生じる誤差
• 適合性 (consistency)
– 差分方程式が元の方程式に収束するか
• 収束性 (convergence)
– 差分解が解析解に収束するか
• 安定性 (stability)
– 差分解は有界か
• 丸め誤差 (round-off error)
7
6. 打切り誤差 (truncation error)
• 解析解の格子点での値を、差分方程式に代
入したときの残差
– u nj と u nj1 を x, t の周りでそれぞれTaylor 展開
• 式①の例
u u
u
u  u  u
c 
c
t
x  t
x
n 1
j
n
j
n
j
n
j 1




• 元の式
• 差分化した式
• 打切り誤差 (≡ε)
2
3
 1  2u


1  3u
1

u
1

u
2
2
t     c  2 x 
x   

t 
2
3
3
6 t
6 x
 2 x

 2 t
…③
8
7. 適合性 (consistency)
• 差分間隔 x 、 t を十分小さくしたとき、近似
された導関数が真の導関数に収束する性質
• 式①での例
– 誤差は③式の右辺で表わされているので、
x, t  0 のとき
u nj 1  u nj
t
u nj  u nj1
x


u nj
t
,
適合性がある
u nj
x
.
9
8. 収束性 (convergence)
• 差分間隔を十分小さくすると、差分方程式の
解が元の方程式の解に収束する性質
– 適合性があるからといって収束性があるとは限ら
ない
• 式①での例
– 解: u ( x, t )  F ( x  ct )
– 収束性の必要条件
ct  x
(CFL 条件)
特性曲線 x  ct  x0 と依存領域
(http://www.ccsr.u-tokyo.ac.jp/~kimoto/fd_note.htm)
10
9. 安定性 (stability)
• 厳密解が有界のとき、n   としても差分解
が有界である性質
• 代表的な安定性の判定法
– 直接法
• 誤差あるいは数値解が有界であることを直接証明
– エネルギー法
• 数値解のノルムが有界であることを証明
– Von Neumann 法
• 解をフーリエ級数に分解し、1つ1つの成分の安定性
を調べる
11
10. 丸め誤差 (round-off error)
• 打切り誤差を小さくするために差分間隔を小
さくとると、丸め誤差が顕著に表れてくる
n
n
u

u
– j
j 1 を計算する際に桁落ちが生じる
– 桁落ちとは、ごく近い値同士の引き算によって有
効数字が減少してしまう現象
• 適切な差分間隔を見極める必要
– 問題によって誤差の発生は異なるので、その都
度実験して確かめるしかない
12
11. まとめ
• 有限差分法とは、偏微分方程式に現れる微
分を差分で置き換えて解く方法のこと
• 有限差分法では「打切り誤差」「適合性」「収
束性」「安定性」という概念が重要
• 数値計算による丸め誤差の影響があるため、
近似を良くしようとむやみに差分間隔を小さく
しても精度は向上しない
13
12. 今後の方針
• 差分法を用いた雲対流モデル (deepconv) に
金星の雲物理を組み込む
– Baker and Schubert (1998) を再計算する
– Imamura and Hashimoto (2002) をレビューし、
H2SO4雲について学ぶ
• 金星探査機 Akatsuki のデータとシミュレー
ション結果との比較検討
14
13. 参考文献
• Mesinger, F., and A. Arakawa, 1976: Numerical Methods used in
atmospheric models. GARP Publication Series, 17, 1, p1--8.
• Dule R. Durran, 1998 : Numerical Methods for Wave Equations in
Geophysical Fluid Dynamics. Springer, p39--47.
• 河村 哲也, 2006 : 数値計算入門. サイエンス社, 165 pp.
• 伊理 正夫, 藤野 和建, 1985 : 数値計算の常識. 共立出版株式会
社, p52--58.
• 木本 昌秀 : 地球流体力学における時間発展問題の解法 ,
http://www.ccsr.u-tokyo.ac.jp/~kimoto/fd_note.htm
• 清水 慎吾, 佐野 哲也, 内藤 大輔 : Von Neumann の解析,
http://www.rain.hyarc.nagoyau.ac.jp/laboratory/OB//shimizu/SUUTI/6.pdf
• 富阪 幸治 : 数値安定性,
http://th.nao.ac.jp/~tomisaka/Lecture_Notes/Simulation_Astrophy
sics/simulation_041.pdf
15