...

ティラー

by user

on
Category: Documents
3

views

Report

Comments

Transcript

ティラー
離散化

現実の大気の状態は、微分方程式によって
表現される →連続的

コンピューターでは、連続的な情報を扱うこ
とが非常に困難である

連続した値をとびとびの値に置き換えて、コ
ンピューターで扱えるようにする →離散化
格子点

コンピューターによる
大気シミュレーション
では、大気を有限個
の格子に分け、格子
点上の気象要素を計
算する
(有限)差分法

微分方程式
を解く際、関
数の2つの
変数値に対
してとる値を
変数値の差
で割った値(
差分商)で
微分を近似
する方法
テイラー展開

点 x 近傍でのテイラー展開は
x m ( m)
f ( x  x)  f ( x)  
f ( x)
m 1 m!


例えば、k 番目の点 xk での値 fk = f (xk) を
j 番目の点 xj を基点として展開すると
( xk  x j ) m ( m)
fk  f j  
fj
m!
m 1

中心差分

等間隔 Δ の格子において、xj = jΔ 近傍で
のテイラー展開は

(k) m ( m)
f j k  f j  
fj
m!
m 1
であるから、fj-1 、 fj+1 はそれぞれ、

 ( 3)  ( 4 )
f j 1  f j   f j 
f j
fj 
fj 
2
6
24
2
3
4

 ( 3)  ( 4 )
f j 1  f j   f j 
f j
fj 
fj 
2
6
24
2
3
4
中心差分
 fj-1 、 fj+1 両式の差、和をとり整理すると
 ( 3)
f j 1  f j 1  2 f j 
fj 
3
4

( 4)
2


f j 1  f j 1  2 f j   f j 
fj 
12
f j 1  f j 1 2 (3)
f j 

fj 
2
6
f j 1  2 f j  f j 1 2 ( 4)
f j 

fj 
2

12
3
中間点での
中心差分

基点 xj が格子の中間点となるようにすると

2
3 (3)
f j  1  f j  f j 
f j
fj 
2
2
8
48
より、基点 xj における補間式と1階差分式が
2次精度で以下のように求められる
f j  1  f j  1 2
2
2
fj 

f j
2
8
 f j  1  f j  1 2 (3)
2
2
f j 

fj 

24
tn-1
時間発展

tn
Δt
tn+1
Δt
tn+2
Δt
時間微分を含む次の方程式
f
 g( f )
t
について差分化する。時間間隔を Δt とし、n
ステップ目の値を f n と書き表すと、以下の
ような差分式で表せる
( f n1  f n ) / t  g ( f n )(1)
(f
(f
n 1
n 1
f
 f ) / t  g ( f
n 1
n 1
n
n
)(2)
) /(2t )  g ( f )(3)
t
tn-1
時間発展
(f
(f
tn
tn+1
Δt
Δt
tn+2
Δt
n 1
 f ) / t  g ( f )(1)
n 1
 f ) / t  g ( f
n
n
t
n
n 1
)(2)
( f n1  f n1 ) /(2t )  g ( f n )(3)
(1)
陽解法(explicit scheme)
nステップの値からn+1ステップの値が直ちに求まる。
解は必ずしも安定ではない
(2)
陰解法(implicit scheme)
n+1ステップの計算は複雑。解は安定
(3)
リープ・フロッグ法(leap-frog scheme)
n-1、nステップの値が必要。解は中立
まとめ
コンピューターは連続的な情報を扱うこと
が出来ず、大気を有限な格子点に分割して
扱われることが一般的である。それにあわ
せ、微分方程式で表される大気の物理法
則は、とびとびの格子点上での値を求める
ように離散化される
 離散化手法として、差分法がよく用いられ
る。もともと微分が有している関係は、差分
化されても満たしていなければならない

移流方程式

運動方程式の東西成分
u
u
u
u
1 p
 u  v  w  fv 
 Fx
t
x
y
z
 x
右辺のうち、東西風による移流項のみ残し、
他の項は無視できるとする。
u
u
u
0
t
x
このような型の微分方程式は移流方程式と
呼ばれる
線形移流方程式

f についての移流方程式
f
f
u  0
t
x
移流項 u(∂f/∂x) は非線形のため複雑なので、
ここでは簡単のため、移流速度は c (≥ 0)
で一定であるとする。
f
f
c 0
t
x
移流項は線形化され、解析解が求まる。
線形移流方程式の解
f
f
c 0
t
x
において変数 X, T を
 X  x  ct

T t
のように置くと、


  T  X 




c
 t t T t X T
X
  T  X 

 


 x x T x X X

これを利用して
線形移流方程式
を書き直すと、
f
0
T
→ t = 0 における f
の分布を維持し
たまま速さ c で
移動
線形移流方程式の解
c
t=0
10
20
30
線形移流方程式の差分近似

時間微分については、陽解法を採用
f jn1  f jn
f

t
t

空間微分に中心差分を用いると
f

x
 f jn 1  f jn 1
n
 fj±1/2 の補間を f j 
2
2
x
1
2
f jn  f jn1

2
n
n
f  f j 1  f j 1

x
2x
とすると、
線形移流方程式の差分近似

線形移流方程式
f
f
c 0
t
x
を中心差分で差分近似すると、
f jn1  f jn
 f jn1  f jn1
c
0
t
2x
整理すると、
f jn1 
ct n
ct n
f j 1  f jn 
f j 1
2x
2x
t
c
n+1
n
x
j–1
j
j+1
差分解の例(中心差分)
Δt = 1 s
Δx = 1 m
t=0
c = 0.3 m/s
差分解の例(中心差分)
Δt = 1 s
Δx = 1 m
c = 0.3 m/s
t = 0 10 20 30 40 50
誤差が
分散
別の差分近似

時間微分は同様に、陽解法を採用
f jn1  f jn
f

t
t

空間微分は風上側の格子点を採用した片
側差分を用いると
n
n
f  f j 1  f j

x
x

上記のような風上(上流)側の点のみ使う
差分形式を風上(上流)差分という
別の差分近似

線形移流方程式
f
f
c 0
t
x
を風上差分で差分近似すると、
f jn1  f jn
 f jn1  f jn
c
0
t
x
整理すると、
f
n 1
j
ct n  ct  n

f j 1  1 
fj
x
 x 
t
c
n+1
n
x
j–1
j
j+1
差分解の例(風上差分)
Δt = 1 s
Δx = 1 m
t=0
c = 0.3 m/s
差分解の例(風上差分)
Δt = 1 s
Δx = 1 m
t=0
c = 0.3 m/s
10 20 30 40
50
誤差が
拡散
離散化誤差の振る舞い

中心差分近似
n
n
2
f  f j 1  f j 1 x 


f jn  
x
2x
6
分散的
打ち切り誤差の主要項は奇数次の微分係数
 風上差分近似
n
n
f  f j 1  f j x n


f j  
x
x
2
拡散的
打ち切り誤差の主要項は偶数次の微分係数
Fly UP