第
8章 実質微分
@=@t+u uu r
の計算
実質微分
(substantial derivative)
は流れに関する方程式,Euler
方程式,Navier-Stokes
方程式,各種輸送 方程式に現れる微分演算子で次のように与えられる. d dt @ @t+
uuur ただしtは時間,uuuは流速である.右辺第1
項は非定常項で定常流れではゼロになり,第2
項は対流項で流 線(streamline)
に沿う微分である.図8.1(a)
は空間xxxにおける流体素片(
同一流体粒子からなる)
の単位時 間における移動を示したものである.点A
における流体素片の ある性質(property
,例えば温度)
が'な らば,点B
では'+
uuu r'になる.しかし流体素片がここまで移動するには単位時間を要するので,非定常 流れでは更に' tだけ変化することになる.上記の演算子は流跡線(path line)
に沿う微分を意味する.また この演算子は流れの連続方程式ruuu= 0
を用いれば次のように書換えられる. d dt '=
@ @t '+
r(
uuu')
このように書換えられたものを保存形
(conservative form)
表示,もとのものを非保存形(nonconservative
form)
または勾配形(gradient form)
表示という.これらは本来同じものであるが,数値計算では結果が微妙に違ってくる.例えば
2
次中心差分を用いれば ,(
uuur')
00 u 00 ' 10 ;' ;102
x+
v 00 ' 01 ;' 0;12
y(
r uuu')
00(
u')
10 ;(
u')
;102
x+(
v')
01 ;(
v')
0;12
y となるがこれらの式は全く同じものではない.また上式の左辺r u u u'をある領域にわたって積分したも のは,Gauss
の定理によって ZZ r u u u'dxdy=
I @ n n n u u u'ds となり,領域の境界@上の積分に変換される.ただしn n nは境界@の部分dsにおける外向き単位法線 ベクトル,nnn uuu'は単位長さの境界を通って単位時間に流入流出する'である.上式の数値積分 I X i=1 J X j=1(
u u ur')
ij xy I X i=1 J X j=1(
r uuu')
ij xy に右辺を代入し計算すれば,上式では一般に領域内部に小さい値が残り,下式では領域内部はことごとく相 殺され境界のみに値が残る.後者の場合に数値スキームは保存形であるという.微分方程式の持つ保存性を 数値解に反映させるためには保存形スキームを用いなければならないという主張はあるが,普通の流れで は必ずしも絶対的なものではない.1
以下には実質微分に関する数値計算についていくつかの項目に分けて説明する.多くの解法が提案され
てきた背景には数値誤差と不安定性の問題がある.特に圧縮性流れでは衝撃波
(shocks)
の捕獲と,更には滑り面
(slip surfaces)
や境界面(interfaces)
の数値拡散である.また非圧縮性流れでも乱流渦や渦列に関し て同様の問題が起きている. 3 u u uA
'B
'+
't+
u u ur'(a)
実質微分 ; ; ; ; ; ; ; ; ; ' n i ' n+1 i ' i H HPath line
(b)
対流差分 図8.1:
実質微分と対流差分 8.1人工粘性の付加と上流化
輸送方程式は一般に次のように書くことができる. d' dt @' @t+
uuur'=
(
')
(8.1)
ただし(
')
は通常 発生項,拡散項などからなり,Navier-Stokes
方程式の場合には圧力項と粘性拡散項か らなる.輸送方程式は,微分方程式論で言う双曲型の性質を持ち,初期値問題として解かれる1 .輸送方程 式の対流項が普通に2
次中心差分で十分近似できるならば,CFD
は先端科学技術の一つ2 にはなり得なかっ たかも知れない.手計算の時代には対流項を中心差分(Richardson
法)
で近似し問題は起きなかったようで ある.それは,丸めの誤差を除き計算の誤りを正すためにときどき計算結果を紙にプロットし平滑化しなが ら計算を進めたためであろう.コンピュータピの時代になって,対流項の不安定性が問題になり,初期の段 階では人工粘性の付加や1
次上流差分が用いられた.これら手法は今や過去のものとなったが,ここから 話を始めることにする.最も簡単な
1
次上流差分法(upstream-di erence scheme,
風上法upwind-di erence scheme)
では,対流 項は次式で表される.(
f x)
i 8 > < > :1
x(
f i ;f i;1) + O(
x)
(
u i0)
1
x(
f i+1 ;f i) + O(
x)
(
u i <0)
(8.2a)
1
x u + i(
' i ;' i;1)+
u ; i(
' i+1 ;' i)
+ O(
x)
(8.2b)
1 拡散項の含まれる場合には双曲型ではないが,拡散項は多くの流れで他の項に比べ十分小さいので,微分方程式は双曲型と見な して解かれる.例えば高Reynolds
数流れで,Navier-Stokes
方程式を双曲型のEuler
方程式の解法を用いて解くがごときである.2
将来疑問に思われる方のために.
1990
年頃には,USA
を富ませる20
の施策の中にCFD
は入っていた.予算を重点配分すべき 先端科学技術の内,超伝導,半導体材料,バイオテクノロジー,光工学,ロボットの5
つは日本が勝れ,CFD
を含むコンピュータソ フトや宇宙航空関連の残り15
は米国が勝れているとされた.人工粘性の付加と上流化
3
ただしf=
u' u= (
ujuj)
=2
u=
u ++
u ; である.このように1
次上流差分には多少異なるいくつか の表現がある.更に次のように書換えることもできる.(
f x)
i=
u i ;' i;1+
' i+12
x | {z } 2次中心差分 ; ju i j2
x(
' i;1 ;2
' i+
' i+1)
| {z } 人工粘性+O(
x)
右辺第2
項は(1
=2)
ju i jx@ 2 '=@x 2 の差分式で'=
uならば 粘性,一般には拡散を表す項である.このように
1
次上流差分は,2
次中心差分(second-order central-di ernce)
に人工粘性(articial viscosity
,拡散di usion)
をある特定量付加したもので,大きい拡散の付加によって安定化を図ったものである.人工拡散 は物理的拡散に比べ十分小さくなければならないが,1
次上流差分では逆に十分大きく,計算の結果はこの ことを念頭に評価しなければならない. 一般にスキームは次のように表現できれば ,そのスキームは保存形(conservative)
である.(
f x)
i= 1
x(
h i+1=2 ;h i;1=2)
(8.3)
ただしhi+1=2は数値流束関数
(numerical ux)
と呼ばれるもので,一般に点 x i+1=2における fそのもので はない.2
次中心差分の数値流束は次のようになる. h i+1=2=
u i+1=2 ' i+
' i+12
(8.4)
また1
次上流差分の数値流束は,多少変形し対称なものにすれば次のようになる. h Roe i+1=2= 12(
f i+
f i+1)
;1
2
ju i+1=2 j' i+1=2(8.5)
ただし' i+1=2=
' i+1 ;' iである.これはRoe
スキーム 3 として知られるものである.2
次の上流差分は次のように表される.(
f x)
i=
8 > < > :1
2
x(
f i;2 ;4
f i;1+3
f i) + O(
x 2)
(
u0)
1
2
x(
;3
f i+4
f i+1 ;f i+2) + O(
x 2)
(
u<0)
=
8 > < > :1
x ; f i ;f i;1+12(
;f i;3=2+
f i;1=2)
+ O(
x 2)
(
u0)
1
x ; f i+1 ;f i ;1
2(
;f i+1=2+
f i+3=2)
+ O(
x 2)
(
u<0)
下式は1
次上流差分とそれを2
次にする補正項の和で表したものである.また2
次上流差分の数値流束は,1
次上流差分の部分にRoe
スキームを導入し次のように表すこともできる. h i+1=2=
h Roe i+1=2+ 12
; u + i+1=2 ' i;1=2 ;u ; i+1=2 ' i+3=2(8.6)
同様に,2
次中心差分は1
次上流差分とそれを2
次にする補正項の和で表せば ,(
f x)
i=
f i+1 ;f i;12
x+ O(
x 2)
=
8 > < > :1
x ; f i ;f i;1+12(
;f i;1=2+
f i+1=2)
+ O(
x 2)
(
u0)
1
x ; f i+1 ;f i ;1
2(
;f i;1=2+
f i+1=2)
+ O(
x 2)
(
u<0)
3
Roe, P.L., Approximate Riemann solvers, parameter vectors, and dierence schemes,
J. Comput. Phys.,
43
, 357{372.
またその数値流束は h i+1=2
=
h Roe i+1=2+ 12
ju i+1=2 j' i+1=2(8.7)
となる.Chakravarthy-Osher
スキームは2
次上流差分と2
次中心差分の1
次結合を取ったもので,その数値流束 関数は次のようになる. h CO i+1=2=
h Roe i+1=2+
u + i+1=2 n1
4(1
;)
' i;1=2+ 14(1+
)
' i+1=2 o(
u i+1=20
のとき)
;u ; i+1=2 n1
4(1
;)
' i+3=2 | {z } 2次上流差分補正+ 14(1+
)
' i+1=2 | {z } 2次中心差分補正 o(
u i+1=2 <0
のとき)
(8.8)
ただし は結合のパラメータで,この式は=
;1
ならば2
次上流差分,= 1
ならば2
次中心差分になる. またこのスキームの打切り誤差e tは次のようになる. e t=
;1
12(3
;1)
x 2(
f xxx)
i+ O(
x 3)
の値を変えると,u0
のときのスキームと打切り誤差の大きさは次のようになる. スキーム u0
のスキーム 打切り誤差 ;1 2
次上流差分(
fi;2;4
fi;1+3
fi)
=2
xO(
x 2)
0
(
f i;2 ;5
f i;1+3
f i+
f i+1)
=4
xO(
x 2)
1/3 3
次上流差分(
fi;2;6
fi;1+3
fi+2
fi+1)
=6
xO(
x 3)
1/2 QUICK
スキーム(
f i;2 ;7
f i;1+3
f i+3
f i+1)
=8
xO(
x 2)
1 2
次中心差分(
;fi;1+
fi+1)
=2
xO(
x 2)
3
次上流差分の式はよく知られているもので,u<0
の場合の式は6.3.1項の終りにも出ている.打切り誤 差は= 1
=3
のときにのみO(
x 3)
になるが,もとよりChakravarthy-Osher
スキームの実質的精度は の 値によって突然変化するものではなく,= 1
=2
のQUICK
スキームも著者がいうように3
次ではないにし てもこれに極めて近い精度である.Leonard
のQUICK
スキーム4 では,数値流束h i+1=2と h i;1=2は,それぞれ u0
の場合には,上流 側にシフトした3
点のf i;1 f i f i+1を通る2
次式の x i+1=2における値と, f i;2 f i;1 f iを通る2
次式の x i;1=2における値が用いられる.すなわち h i+1=2= 18(
;f i;1+6
f i+3
f i+1)
u i+1=21
8(
;' i;1+6
' i+3
' i+1)
h i;1=2= 18(
;f i;2+6
f i;1+3
f i)
u i;1=21
8(
;' i;2+6
' i;1+3
' i)
上表のQUICK
スキームの式は,式(8.3)
にこれらの数値流束の式を代入することによって導かれたもので ある.u<0
の場合の数値流束の式も同様に得られ,これらをまとめればQUICK
スキームの数値流束の式 は次のように書くことができる. h i+1=2= 116
u i+1=2(
;' i;1+9
' i+9
' i+1 ;' i+2) +
ju i+1=2 j(
;' i;1+3
' i ;3
' i+1+
' i+2)
(8.9)
これよりQUICK
スキームは,中心差分の式(
f x)
i(
f i;2 ;10
f i;1+10
f i+1 ;f i+2)
=16
xに人工散逸(
jujx 3 =16)
' (4) i juj(
' i;2 ;4
' i;1+6
' i ;4
' i+1+
' i+2)
=16
xを付加したものと解釈することができる.4
Leonard, B.P., A stable and accurate convective modelling procedure based on quadratic upstream interpolation,
人工粘性の付加と上流化
5
中心差分の式の精度はO(
x 2)
,また人工散逸項(articial dissipation)
の大きさはO(
x 3)
で,スキーム の精度は上表のようにO(
x 2)
である.4
次の中心差分(
f x)
i(
f i;2 ;8
f i;1+8
f i+1 ;f i+2)
=12
xにこの人工散逸を付加すれば ,3
次スキーム を作ることができる.その数値流束関数は一般に次のようになる. h i+1=2= 112
u i+1=2(
;' i;1+7
' i+7
' i+1 ;' i+2) +
ju i+1=2 j(
;' i;1+3
' i ;3
' i+1+
' i+2)
(8.10)
ただしは人工散逸の大きさを決める係数で,= 1
=12
に取れば通常の3
次上流差分になる.またKawamura-Kuwahara
スキーム5 は= 1
=4
に取るもので,安定性に勝れる一方,形式的精度は3
次でも計算結果の精 度はあまり良くないようである. 以上述べたように上流差分は,それ自身の中に計算を安定化する人工拡散など の数値粘性(numerical
viscosity)
を含むものである.人工拡散などが計算を安定化するメカニズムは次のように説明できる.これ らの項は,通常右辺に付加されるが,上流差分の場合にも仮に相当する項を分離し右辺に移したとすれば , これらの項は次のように表される. ju i jx ;1(
' i;1 ;2
' i+
' i+1)
ju i j@ 2 '=@x 2 x ju i jx ;1(
;' i;2+4
' i;1 ;6
' i+4
' i+1 ;' i+2)
;ju i j@ 4 '=@x 4 x 3 ju i jx ;1(
' i;3 ;6
' i;2+15
' i;1 ;20
' i+15
' i+1 ;6
' i+2+
' i+3)
ju i j@ 6 '=@x 6 x 5 係数は正に取られる.今不安定性などにより' iの値がその周囲の 'の平均値ないしは重み平均値に較 べて大きければ ,上記の項は負になるので,時間ステップt後の' iの値はこの分だけ減少することにな る.逆に' iの値が周囲に較べ小さければ上記の項は正になり, t後の' iの値はこの分だけ増加すること になる.このようにして'の値は平滑化され不安定性が抑えられる.しかし一方この平滑化(smoothing)
は,大なり小なり結果の精度に悪影響を及ぼすものである. 流速uの符号の変わるところでは,差分式が破綻する虞があるので十分注意しなければならない.今, u<0(
x<x)
u0(
xx)
とする.1
次上流差分の式(8.2)
では問題は起きない.しかし一見良さそう に見える1
次上流差分の式(
f x)
i= 1
x(
f + i ;f + i;1)+ 1
x(
f ; i+1 ;f ; i)
ただしf j=
u j ' j(
j=
ii1)
は(
f x)
i=
8 > > > > > > > > < > > > > > > > > :1
x(
f i ;f i;1)
(
u i;10)
1
x f i(
u i;1 <0
u i0)
;1
x f i(
u i <0
u i+10)
1
x(
f i+1 ;f i)
(
u i+1 <0)
となり,これらの式から消えたf i;1や f i+1は x の近くでは小さいとはいえ,これらの式の打切り誤差は5
Kawamura, T. and Kuwahara, K., Computation of high Reynolds number ow around circular cylinder with surface
O(
h 0)
と大きく問題がないとは言えない.またRoe
スキーム(8.5)
の場合にも正確に書けば(
f x)
i 8 > > > > > > > > > > > < > > > > > > > > > > > :1
x(
f i ;f i;1)
(
u i;1=2 >0)
1
2
x(
f i ;f i;1)
(
u i;1=2= 0)
0
(
u i;1=2 <0
u i+1=2 >0)
1
2
x(
f i+1 ;f i)
(
u i+1=2= 0)
1
x(
f i+1 ;f i)
(
u i+1=2 <0)
となり,中3つの式の打切り誤差はO(
h 0)
の大きさになる. 次に2
次以上のスキームについて流速uの符号の変わるところでのスキームの動静を探る.Chakravarthy-Osher
スキームの数値流束は次のようにも書かれる. h CO i+1=2=
f + i+ 14(1
;)
f + i;1=2+ 14(1+
)
f + i+1=2(
u i+1=20
のとき)
+
f ; i+1 | {z } 1次上流差分 ;1
4(1
;)
f ; i+3=2 | {z } 2次上流差分補正 ;1
4(1+
)
f ; i+1=2 | {z } 2次中心差分補正(
u i+1=2 <0
のとき)
(8.11)
ただしf j=
u i+1=2 ' jである.(
f x)
i=
8 > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > :1
x n u i+1=2 ' i+14(1
;)
' i;1=2+14(1+
)
' i+1=2 ;u i;1=2 ' i;1+14(1
;)
' i;3=2+14(1+
)
' i;1=2 o(
u i;1=20)
1
x n u i+1=2 ' i+14(1
;)
' i;1=2+14(1+
)
' i+1=2 ;u i;1=2 ' i ;1
4(1
;)
' i+1=2 ;1
4(1+
)
' i;1=2 o(
u i;1=2 <0
u i+1=20)
1
x n u i+1=2 ' i+1 ;1
4(1
;)
' i+3=2 ;1
4(1+
)
' i+1=2 ;u i;1=2 ' i ;1
4(1
;)
' i+1=2 ;1
4(1+
)
' i;1=2 o(
u i+1=2 <0)
この式の第1
式と第3
式の打切り誤差は;(
x 2 =24)(
u xxx '+3
u xx ' x+6
u x ' xx)
i x 2 ; ;(3
;1)
x 2 =12
(
u' xxx)
i+
となる.第1
項はf j=
u i+1=2 ' jと置いたための誤差であるが,微分方程式が準線形である ことを考えればあまり気にする必要はないと思われる.なおf j=
jsign(
u i+1=2)
jf jと置き, u i+1=2の符号 のみを使うことにすればこの誤差はなくなる.また第2
項はスキーム固有のもので= 1
=3
近くで誤差が小 さくなることを示している.上式の第2
式の誤差は;(
x 2 =24)(
u xxx '+3
u xx ' x+6
u x ' xx+4
u' xxx)
i+
となる.= 1
=3
近くで誤差が小さくなる利点は失われるが,なお2
次精度を保っていることが分かる.以 上要するに,上記のChakravarthy-Osher
スキームは,uの符号の変わるところで若干の精度低下はみられ るものの問題なく使用できる. 次に式(8.11)
で単純にf j+1=2=
u j+1=2 ' j+1=2とした場合を考える. uの符号がすべて同じになると
T V D
差 分 ス キ ー ム7
ころではもちろん何事も起こらないので,ここでは符号の変わるところだけを調べることにする.(
f x)
i=
8 > > > > > < > > > > > :1
x n1
;1
2
f i;1=2+ 14(1+
)
f i+1=2 o(
u i;3=2 <0
u i;1=20)
1
x1
4(1+
)(
f i;1=2+
f i+1=2)
(
u i;1=2 <0
u i+1=20)
1
x n1
4(1+
)
f i;1=2+
1
;1
2
f i+1=2 o(
u i+1=2 <0
u i+3=20)
これらの式ではいくつかの項が欠落することになり,第1
式の打切り誤差は(
u x ')
i ; ;(1
;)
=4
(
u' x)
iで あり,また上式の打切り誤差はすべてO(
x 0)
である.そのまま使えば解が局所的に不自然な挙動をする ことになる.その対策も各種提案されてきたが,不自然な挙動の原因を調べそれを正すべきで,u<0
の式 からu>0
の式に徐々に乗り換えるごときは本末転倒である.このような対策は不自然な挙動を覆い隠す には有効でも,新たに大きな数値誤差を招くことになる. 8.2 TVD差分スキーム
1
次上流差分は安定性に優れるが,1
次精度で正しい解を得ることができない.一方2
次以上のスキーム は,精度と安定性が両立しない.これから述べるTVD
スキームと呼ばれるものは,数値拡散を局所的に必 要量だけ加えることによって安定性を確保し,数値拡散の付加による精度低下を極力抑えるものである.こ こではまず,スカラー輸送方程式(8.1)
の,1次元における右辺0
の方程式 d' dt=
@' @t+
u @' @x= 0
(8.12)
の初期値問題に対して
TVD
法を説明する.その解'(
xt)
には1
パラメータ族の特性(one parameter family
of characteristics)
dx=dt=
uが存在する 6 .各特性に沿って'の値は一定になり,また特性を横切っての不 連続性(discontinuities)
7 は特性に沿って伝播する8 .uはこの波の位相速度である.したがって'の最大値 と最小値は,一般に時間によらず一定になるが,xt空間内に不連続が存在し ,最大値の特性がその不連続 に吸込まれれば 最大値は減少することになる.同様に最小値の特性が吸込まれれば最小値が増加すること になる.物理問題では不連続に特性が吸込まれるときに熱力学系(system)
のエントロピーが増加し ,逆に 不連続から特性が吐出されるときに系のエントロピーが減少する.不連続から特性が吐出されることは物 理的にあり得ないことになる.したがって,総変化量(total variation)
TV R j' x jdxは時間によらず一定か時間とともに減少する.すなわち,
TVD(total variation diminishing)
である.TV
の定義式は差分で表示すれば , TV(
')
X j j' j+1 ;' j j(8.13)
また,TVD
条件は, TV(
' n+1)
TV(
' n)
(8.14)
6 このことに関し幾何学的イメージの湧かない人のために.微分方程式(8.12)
は,xt空間内で,解'(
xt)
の勾配r'= (
' x ' t)
とベクトルaaa(
u1)
が直交しスカラー積が0
になることを示している.微分演算子d=dt=
aaarはaaa方向の微分で,解'を微分し たときに0
ということは,'がa a a方向に一定ということである.曲線'(
xt) =const.
cを特性曲線という.曲線'(
xt) =
c+
c も曲線'(
xt) =
cにほぼ平行な特性曲線である.このようにcの値を次々に変えればcを1つのパラメータとする特性曲線族が得 られる. 7 '自身とそのxに関する微分の不連続 8 微分方程式論の教科書の双曲型方程式の章参照.また簡単な説明は例えば大宮司・三宅・吉澤編,乱流の数値流体力学,1998
,東 京大学出版会,4.2節にもある.となる.
TVD
スキーム(TVD scheme)
は,解が常にTVD
条件(8.14)
を満足するように作られた数値ス キームのことである.TVD
条件が満足されれば当然,(i)
'の新たな極値は発生しない,(ii)
'の最大値が 増加,最小値が減少することもないので安定に解を求めることができる.なおここで誤解のないように一 言付け加えれば,TVD
条件(8.14)
は同次方程式(8.12)
の解に対するものである.非同次方程式d'=dt=
g の場合には,この方程式を一つの特性dx=dt=
uに沿って積分すれば'=
' 0+
R t t0 gdtになることからも明 らかなように,'の値は特性に沿って一定にはならない.当然TVD
条件(8.14)
もそのまま成立することに はなならない.また多次元の場合の因子化で得られた1次元の方程式でも,たとえ もとの方程式が同次で あってもTVD
条件(8.14)
は一般に成立しない.TVD
法は,もともと圧縮性流れの解法として提案された ものである.1次元圧縮性流れのオイラー方程式の場合には,特性は流跡線と圧力波で,これらの特性上で 一定になる量はエントロピーまたはリーマン不変量と言われるものである.また非圧縮性流れの場合には, 流跡線上の流速や輸送される量'である.TVD
スキームを適用すれば,これらの量は対流項の計算におい て上記の条件(i)
,(ii)
を満足することになるが,非同次方程式や多次元の場合には右辺の時間積分が加算さ れるために,当然のことながらTVD
スキームを用いて得られた解が条件(i)
,(ii)
を満足するわけではない. 初めに安定といわれるRoe
スキームがTVD
スキームであるや否やを調べる.1次元同次スカラー輸送 方程式(8.12)
は,梯形則を用い保存形差分方程式に書換えれば次のようになる. ' n+1 i+
(
h i+1=2 ;h i;1=2)
n+1=
' n i ;(1
;)
(
h i+1=2 ;h i;1=2)
n(8.15)
ただし=
t=xである.式(8.15)
にRoe
スキームの数値流束(8.5)
を代入すれば ,右辺は R HS=
' n i ;(1
;)
1
2
(
f i+
f i+1)
;ju i+1=2 j' i+1=2 ;(
f i;1+
f i)+
ju i;1=2 j' i;1=2 n=
' n i ;(1
;)
1
2
; u i;1=2 ' i;1=2+
u i+1=2 ' i+1=2 ;ju i+1=2 j' i+1=2+
ju i;1=2 j' i;1=2 n=
' n i ;(1
;)
; u + i;1=2 ' i;1=2+
u ; i+1=2 ' i+1=2 n(8.16)
のようになり,左辺も同様になる.次に両辺のTV を取れば ,右辺は TV(
R HS) =
X1
;(1
;)
(
u + j+1=2 ;u ; j+1=2)
' j+1=2+(1
;)
(
u + j;1=2 ' j;1=2 ;u ; j+3=2 ' j+3=2)
n となる.いま3
条件, u +0
u ;0
(1
;)
juj1
(8.17)
が成立するものとすれば , TV(
R HS)
X f1
;(1
;)
(
u + j+1=2 ;u ; j+1=2)
gj' j+1=2 j+(1
;)
(
u + j;1=2 j' j;1=2 j;u ; j+3=2 j' j+3=2 j)
n=
X j' n j+1=2 j=
TV(
' n)
となり9 ,TV(
R HS)
の値はTV(
' n)
を超えることはない.同様に左辺に関しては次のようになる10 . TV(
LHS) =
X1+
(
u + j+1=2 ;u ; j+1=2)
' j+1=2 ;(
u + j;1=2 ' j;1=2 ;u ; j+3=2 ' j+3=2)
n+1 X f1+
(
u + j+1=2 ;u ; j+1=2)
gj' j+1=2 j;(
u + j;1=2 j' j;1=2 j;u ; j+3=2 j' j+3=2 j)
n+1=
X j' n+1 j+1=2 j=
TV(
' n+1)
9 abc0
のときにja+
b+
cjjaj+
jbj+
jcjなる関係が用いられた. 10 abc0
のときにja;b;cj jaj;jbj;jcjなる関係が用いられた.
T V D
差 分 ス キ ー ム9
結局 TV(
' n+1)
TV(
LHS) =
TV(
R HS)
TV(
' n)
となり,Roe
スキームは3
条件(8.17)
のもとでTVD
条件(8.14)
を満足するTVD
スキームであることが 分かる. 多項式近似やTaylor
展開をもとに導出される2
次以上の数値スキームは,例外なくそのままではTVD
ス キームではない.これらのスキームは1
次上流差分とこれを高次にする補正項の和で表すことができる.1
次上流差分の部分は上述のようにTVD
条件を満足するので,補正項の大きさをTVD
条件が満足される範 囲に制限きれば,これらのスキームのTVD
化が達成されることになる.補正項の大きさの制限には各種の 制限関数(limiter)
と呼ばれるものが用いられる.在来の数値粘性が無差別に加えられたのに対し,制限関数 は数値粘性を局所的に必要量のみ加えるものである.Chakravarthy-Osher
スキームは次のようにminmod
制限関数を用いてTVD
スキームに改良されている. h CO i+1=2=
h Roe i+1=2+ 14
(1
;)
f~~
+ i;1=2+(1+
)
f~
+ i+1=2 ;1
4
(1
;)
f~
; i+3=2+(1+
)
f~~
; i+1=2(8.18)
ただし f~
j+1=2=
u i+1=2minmod(
r ; j+1=2 b)
' j;1=2(
j=
ii+1)
f~~
j+1=2=
u i+1=2minmod(
r + j+1=2 b)
' j+3=2(
j=
i;1
i)
(8.19)
minmod(
xy) sign(
x)max0
min
fjxjsign(
x)
yg]
(8.20)
=
8 > < > : x(
jxjjyj xy同符号)
y(
jxj>jyj xy同符号)
0
(
xy異符号)
またr j+1=2=
' j+1=2 =' j+1=21, f j+1=2=
u i+1=2 ' j+1=2(
j=
ii1)
である.ここで式(8.19)
の 意味について説明する.その第1
式は,minmod(minimum-modulus)
制限関数を用い当該勾配' j+1=2の 大きさを隣りの勾配' j;1=2の大きさとの比較において制限するものである.minmod(
r1)
を図8.2
に示 す.当該勾配の大きさが隣りの勾配をb倍したものを超えないときにはそのままに,超えるときはb倍した 隣りの勾配に,2つの勾配の傾きが異なるときには0
になる.第2
式についても同様のことが言える.な おこのような使われ方をする制限関数は勾配制限関数(slope limiter)
といわれる. 次にChakravarthy-Osher TVD
スキームがTVD
スキームになることを示す.前と同様に同次スカラー輸送方程式の差分近似式
(8.15)
に数値流束(8.18)
を代入すれば ,右辺は R HS=
' n i ;(1
;)
h u + i;1=2 ' i;1=2+
u ; i+1=2 ' i+1=2+ 1
;4
u + i+1=2minmod(
r + i;1=2 b)
' i+1=2 ;u + i;1=2minmod(
r + i;3=2 b)
' i;1=2+ 1+
4
u + i+1=2minmod(
r ; i+1=2 b)
' i;1=2 ;u + i;1=2minmod(
r ; i;1=2 b)
' i;3=2 ;1
;4
u ; i+1=2minmod(
r ; i+3=2 b)
' i+1=2 ;u ; i;1=2minmod(
r ; i+1=2 b)
' i;1=2 ;1+
4
u ; i+1=2minmod(
r + i+1=2 b)
' i+3=2 ;u ; i;1=2minmod(
r + i;1=2 b)
' i+1=2 i n=
' n i ;(1
;)
h u + i;1=2 ' i;1=2+
u ; i+1=2 ' i+1=2+ 1
;4
u + i+1=2minmod(1
br ; i+1=2)
' i;1=2 ;u + i;1=2minmod(
r + i;3=2 b)
' i;1=2+ 1+
4
u + i+1=2minmod(
r ; i+1=2 b)
' i;1=2 ;u + i;1=2minmod(1
br + i;3=2)
' i;1=2 ;1
;4
u ; i+1=2minmod(
r ; i+3=2 b)
' i+1=2 ;u ; i;1=2minmod(1
br + i;1=2)
' i+1=2 ;1+
4
u ; i+1=2minmod(1
br ; i+3=2)
' i+1=2 ;u ; i;1=2minmod(
r + i;1=2 b)
' i+1=2 i n となる.このChakravarthy-Osher
スキームのR HSの式をRoe
スキームのR HSの式(8.16)
と比較すれば, このR HSの式は,式(8.16)
のu i1=2 を~
u + i;1=2=
u + i;1=2 h1 + 1
;4
n u + i+1=2 u + i;1=2minmod(1
br ; i+1=2)
;minmod(
r + i;3=2 b)
o+ 1+
4
n u + i+1=2 u + i;1=2minmod(
r ; i+1=2 b)
;minmod(1
br + i;3=2)
o i(8.21a)
~
u ; i+1=2=
u ; i+1=2 h1 + 1
;4
n u ; i;1=2 u ; i+1=2minmod(1
br + i;1=2)
;minmod(
r ; i+3=2 b)
o+ 1+
4
n u ; i;1=2 u ; i+1=2minmod(
r + i;1=2 b)
;minmod(1
br ; i+3=2)
o i(8.21b)
で定義されるu~
i1=2 で置換えたものであることが分かる.LHSに関しても同じことが言える.したがって0
1
2
3
r4
1
2
(
r)
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; @ @minmod(
r1)
@ @minmod(
r2)
; ;Roe's superbee
max0
min(
r2)
min(2
r1)]
T V D
差 分 ス キ ー ム11
Chakravarthy-Osher
スキーム(8.18)
は,式(8.17)
と同型の3
条件~
u
+0
u
~
;0
(1
;)
ju
~
j1
(8.22)
が満足されるときにTVD
安定になる. 式(8.22)
の第1
式と2
式は式(8.21)
の]
の中が正(
または0)
のときに満足さる.これが常に正になる ためには,第1
式はr
; i+1=2= 0
r
+ i;3=2b
のときに,第2
式はr
+ i;1=2= 0
r
+ i+3=2b
のときに最も厳し い状態になり,このとき]
の中は1
;f(1
;)
=
4
gb
;f(1+
)
=
4
gとなる.これが正であるためには条件1
b
(3
;)
=
(1
;)
(8.23)
が満足されなければならない.他方,式(8.22)
の第3
式はju
~
jの大きいときに厳しく,式(8.21)
の]
の 中はu
i+1=2u
i;1=2 と考えれば ,第1
式はr
+ i;3=2= 0
r
; i+1=2b
,第2
式はr
; i+3=2= 0
r
+ i;1=2b
のと きに最大値5
;+(1+
)
b
]
=
4
になる.したがって条件(1
;)
b
1 ju
j1
b
1= 14
f5
;+(1+
)
b
g(8.24)
が満足されなければならない.結局Chakravarthy-Osher
スキーム(8.18)
は,条件式(8.23)
を満足する倍 率b
の値を用い,CFL
=
ju
jt=x
すなわち時間間隔t
が条件式(8.24)
を満足する範囲に選ばれるときにTVD
安定になる. ここで多少付け加えれば,倍率b
を大きめに取れば制限関数の働く領域は狭くなり,Chakravarthy-Osher
スキーム本来の2
次ないし3
次精度で計算できる領域が広くなる.広く使われている3
次上流差分= 1
=
3
の場合には,b
の上限は4
である.3
次上流差分のb
= 4
の場合には,陽解法(
= 0)
ではCFL
は0.4
以下 に制限される.他方 完全陰解法(
= 1)
ではCFL
の上限はないことになる.しかしながら実際の計算では,CFL
は主に左辺のアルゴ リズムに依存する.LU-SGS
法は因子化に伴う誤差が小さく,CFL
を大きく取る ことができるアルゴ リズムである.また陰解法のCrank-Nicholson
法(
= 1
=
2)
でもCFL
は0.8
以下にな り,無条件安定でないことに注意すべきである.逆にこの場合にCFL
の上限を1
に取ればb
は2.5
以下に 制限される.なおf
(
x
)
が不連続を持つ場合には,倍率b
は小さめの方がある種の不連続を呆けさせないこ とになるかもしれない.それは,この方がf
(
x
)
の異常な変化に敏感に反応するからである.3
次上流差分の場合の数値流束は倍率b
の上限4
を取れば次のようになる.h
CO i+1=2=
8 > < > :f
i+ 16minmod(
f
i;1=2
4
f
i+1=2)+13minmod(
f
i+1=24
f
i;1=2) (
u
0)
f
i+1 ;1
6minmod(
f
i+3=24
f
i+1=2)
;1
3minmod(
f
i+1=24
f
i+3=2) (
u <
0)
(8.25)
ここでu
?0
f
i+1=21 ?0
の4
通りの場合が考えられるが,以下にはu >
0
f
i;1=2>
0
の場合につ いてのみ説明する.他の場合も対称性により同様のこと言える.簡単のためi
= 0
f
1=2=f
;1=2=
r
と 置けば上式は次のようになる.h
CO 1=2=
f
0+
n1
6minmod(1
4
r
)+13minmod(
r
4)
of
;1=2(8.26)
=
8 > > > > < > > > > :f
0+1
:
5
f
;1=2(
r >
4)
(
第2
のminmod
関数が働く)
f
0+(1+2
r
)
f
;1=2=
6 (1
=
4
< r
4)
(3
次上流差分)
f
1(0
< r
1
=
4)
(
第1
のminmod
関数が働く)
f
0(
r
0)
(1
次上流差分:第1,2
のminmod
関数が働く)
(8.27)
このように
Chakravarthy-Osher TVD
スキームの数値流束はr
の範囲によって異なる式で表される.f
;1=2 を固定し ,f
1=2すなわちr
を変化させたときの数値流束h
1=2は図8.3
のようになる.1
=
4
r
4
の範囲 では,h
1=2の値は3
次上流差分の式h
1=2= (
;f
;1+5
f
0+2
f
1)
=
6
から求められる.この外側の,勾配f
の変化の激しいところでは,上式のように第1
,第2
の制限関数が 働くことになる.一般に,h
1=2の値は決してf
;1f
0f
1の値を超えて極値になることはない.乱流の数値流体力学,
p.55
,図3.3]
図8.3:
h
1=2=
f
0+
f(1
=
6)minmod(1
4
r
)+(1
=
3)minmod(
r
4)
gf
;1=2の値(
u >
0
f
;1=2>
0
の場合)
輸送方程式の保存形差分近似式(8.15)
は陽解法(
= 0)
では次のようになる.'
n+1 i=
'
n i ;(
h
n i+1=2 ;h
n i;1=2)
今 解u
の最大値'
n 0の近傍を考える.ここではu >
0
としているので波は左方に伝播することになり,'
n+1 0 と'
n+1 1 が最大値'
n 0を超えないことを確認できれば十分である.'
n 0は最大値であるから'
n ;1=20
'
n 1=20
で,u >
0
であるからf
n ;1=20
f
n 1=20
となる.最大値近傍の数値流束は,minmod
関数の働きによっ て次のようになる.h
n ;1=2=
f
n ;1+(1
=
6)minmod(
f
n ;3=24
f
n ;1=2)+(1
=
3)minmod(
f
n ;1=24
f
n ;3=2)
f
n ;1+4
f
n ;1=2=
6+
f
n ;1=2=
3 =
f
n 0.式(8.23)
は不等式h
n ;1=2f
n 0が成立するように倍率b
を制限する条件であ る.またh
n 1=2=
f
n 0h
n 2=3f
n 1+3
f
n 1=2=
2
となる.したがって上式より,'
n+1 0'
n 0'
n+1 1'
n 1 ;5
f
n 1=2=
2
となる.式(8.24)
は'
n+1 1'
n 0 になるように時間ステップt
を制限する条件である.陰解法(
>
0)
で は,上式の右辺に;(
h
n+1 1=2 ;h
n 1=2)
;(
h
n+1 ;1=2 ;h
n ;1=2)
のような項が加わるが,最大値の近傍では中括弧 の中は普通正になりより安全側に来る. 次に流速u
の符号の変わるところの挙動について検討する.前節同様u <
0(
x < x
)
u
0(
x x
)
と
T V D
差 分 ス キ ー ム13
すれば ,(
f
x)
0=
8 > > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > :1
x
nu
1=2 ;'
0+16minmod(
'
;1=24
'
1=2)+13minmod(
'
1=24
'
;1=2)
;u
;1=2 ;'
;1+ 16minmod(
'
;3=24
'
;1=2)+13minmod(
'
;1=24
'
;3=2)
o(
u
;1=20)
1
x
nu
1=2 ;'
0+16minmod(
'
;1=24
'
1=2)+13minmod(
'
1=24
'
;1=2)
;u
;1=2 ;'
0 ;1
6minmod(
'
1=24
'
;1=2)
;1
3minmod(
'
;1=24
'
1=2)
o(
u
;1=2<
0
u
1=20)
1
x
nu
1=2 ;'
1 ;1
6minmod(
'
3=24
'
1=2)
;1
3minmod(
'
1=24
'
3=2)
;u
;1=2 ;'
0 ;1
6minmod(
'
1=24
'
;1=2)
;1
3minmod(
'
;1=24
'
1=2)
o(
u
1=2<
0)
となる.minmod
関数が働かなければ 前項に述べたように 一般には3
次上流差分になり,u
の符号の変わ るところの第2
式のみが2
次精度である.またたとえminmod
関数が働いても 上に述べたようにr
が3
次 上流差分の範囲を大きく逸脱しなければ精度が大きく低下することはない.しかしu
の符号が変わるとこ ろに'
の極値もあれば ,第2
式は(
f
x)
0= (
u
1=2 ;u
;1=2)
'
0=x
となり0
次精度まで低下することになる. 制限関数はminmod
関数の他にも各種のものが提案されている11 .これらの制限関数の働きの一端を,2
次中心差分を例に説明する.2
次中心差分の数値流束に制限関数を導入して安定化したものは一般に次のよ うに表される.h
(2) i+1=2=
h
(1) i+1=2+ 12
ju
i+1=2 j(
r
i+1=2)
'
i+1=2(
u
=
u
)
(8.28)
ただしh
(1) i+1=2 は1
次上流差分の数値流束,(
r
)
は制限関数で,(
r
) = 1
ならば普通の2
次中心差分にな る.これをTVD
化する制限関数は数多く考えられている.例えばRoe
の'superbee'
(
r
) = max 0
min(1
2
r
)
min(2
r
)]
=
8 > > > > > > < > > > > > > :0 (
r
0)
(1
次上流差分)
2
r
(0
< r <
1
=
2)
1 (1
=
2
r
1)
(2
次中心差分)
r
(1
< r
2)
(2
次上流差分)
2 (
r >
2)
は,1
< r
2
でスキームを2
次上流差分に切替え,またr <
1
=
2
とr >
2
では補正項を極値にならない限 界値に取り安定化を図るものである.また(
r
) = minmod 2
r
(
r
+2)
=
3
2]
=
8 > > > > > < > > > > > :0 (
r
0)
(1
次上流差分)
2
r
(0
< r <
0
:
4)
r
+2
3 (0
:
4
< r
4)
(3
次上流差分)
2 (
r >
4)
11
Sweby, P.K., High resolution schemes using ux limiters for hyperbolic conservation laws.
SIAM J. Numer. Anal.,
21(1984), 995{1011.
と置けば ,スキームの精度を
3
次に上げることができる.このように制限関数は,スキームを安定化する だけでなく同時に精度を改善する働きを持たせることもできる.制限関数(
r
)
は,(1) = 1
の点を通る べきで(
'
(
x
)
が1
次関数のときに'
i+1=2をその上に取る)
,また2
次中心差分(
r
) = 1
と2
次上流差分(
r
) =
r
の間にあるべきで(
その外側では実質的誤差が大きくなる)
,minmod(1
r
)
とsuperbee
の間に取 られる.van Leer
の制限関数(
r
+
jr
j)
=
(1+
r
)
は,(0) = 0
(1) = 1
(
1) = 2
を通る単調に増加する滑 らかな曲線である. 制限関数は,一般に異なるスキームに対しては異なる働きをするので,スキームに適した制限関数が選ば れるべきである.2
次上流差分の数値流束h
(2) i+1=2=
h
(1) i+1=2+ 12
ju
i+1=2 j(
r
i+1=2)
'
i+1=21(
u
=
u
)
(8.29)
に対しては,主要部の精度を3
次に上げ同時にTVD
化する制限関数は次のようになる.(
r
) = minmod 2
r
(2
r
+1)
=
3
2]
=
8 > > > > > < > > > > > :0
(
r
0)
(1
次上流差分)
2
r
(0
< r <
0
:
25)
2
r
+1
3
(0
:
25
< r
2
:
5)
(3
次上流差分)
2
(
r >
2
:
5)
8.3高次
TVD差分スキーム
2
次のスキーム 式(8.8)
は,2
次上流差分と2
次中心差分の線形結合を取ったもので,その結合のパラ メータを= 1
=
3
に選ぶことによって次の3
次上流差分スキームが得られた.h
(3) i+1=2=
h
(1) i+1=2+16
f
+ i;1=2+13
f
+ i+1=2 ;1
6
f
; i+3=2 ;1
3
f
; i+1=2(8.30)
同様に4
次上流差分と4
次中心差分の線形結合を取れば4
次のスキームが得られ,その結合のパラメータ を適切に選べば5
次スキームが得られる12 .4
次の上流差分と中心差分の式は,例えば6.3.1項の終りの部 分を,またこれらの数値流束の導出については次の表を参照されたい.fi;3 fi;2 fi;1 fi fi+1 fi+2
上流差分(u 0) 1=12x ;1 6 ;18 10 3 h i+1=2 1/12 1 ;5 13 3 ;h i;1=2 1/12 ;1 5 ;13 ;3 中心差分 1=12x 1 ;8 0 8 ;1 h i+1=2 1/12 ;1 7 7 ;1 ;h i;1=2 1/12 1 ;7 ;7 1
4
次上流差分と中心差分のu
0
の場合の数値流束は次のようになる.h
i+1=2=
f
i+ 112(
f
i;2 ;5
f
i;1+
f
i+3
f
i+1) =
f
i+ 112(
;f
i;3=2
+4
f
i;1=2+3
f
i+1=2)
h
i+1=2=
f
i+ 112(
;f
i;1 ;5
f
i+7
f
i+1 ;f
i+2) =
f
i+ 112(
f
i;1=2+6
f
i+1=2 ;f
i+3=2)
12
Yamamoto, S. and Daiguji, H., Higher-order-accurate upwind schemes for solving the compressible Euler and
高次
TVD
差分スキーム15
u <
0
の場合も同様になる.Chakravarthy-Osher
スキーム(8.8)
を参考にこれらの式の線形結合を取れば , 次の一般的な4
次スキームの数値流束が得られる.h
i+1=2=
h
(1) i+1=2+1
;24 (
;f
+ i;3=2+4
f
+ i;1=2+3
f
+ i+1=2) + 1+
24 (
f
+ i;1=2+ 6
f
+ i+1=2 ;f
+ i+3=2)
;1
;24 (3
f
; i+1=2+ 4
f
; i+3=2 ;f
; i+5=2)
| {z } 4次上流差分補正 ;1+
24 (
;f
; i;1=2+6
f
; i+1=2+
f
; i+3=2)
| {z } 4次中心差分補正=
h
(3) i+1=2 ;1
;24
3f
+ i;1=2 ;1+
24
3f
+ i+1=2+ 1
;24
3f
; i+3=2+ 1+
24
3f
; i+1=2(8.31)
ただし 3f
j+1=2=
2f
j+1 ; 2f
j=
f
j;1=2 ;2
f
j+1=2+
f
j+3=2(
j
=
i i
1)
である.式(8.31)
の下式は,この4
次スキームの数値流束が3
次スキームの数値流束(8.30)
に3
階差分の 補正項を加えることによって簡単に得られることを示している.更にこの式はDf
i+1=2=
f
i+1=2 ;1+
8
3f
i+1=2Df
j+1=2=
f
j+1=2 ;1
;4
3f
j+1=2(
j
=
i
1)
(8.32)
で定義されるDf
j+1=2 を導入すれば ,次のように書換えられる.h
i+1=2=
h
(1) i+1=2+ 16
Df
+ i;1=2+ 13
Df
+ i+1=2 ;1
6
Df
; i+3=2 ;1
3
Df
; i+1=2(8.33)
式(8.31)
の打切り誤差e
tは次のようになる(
下表参照)
.e
t=
; n1
;2 72
;1+
2 48
o1
12
5!
x
4f
(5) i+ O(
x
5) =
;1
;5
5!
x
4f
(5) i+ O(
x
5)
したがって結合のパラメータを
1/5
に選べば5
次精度に,また1/5
に近ければ5
次に近い4
次精度なる.5
次の場合には上式のDf
はDf
i+1=2=
f
i+1=2 ;3
20
3f
i+1=2Df
j+1=2=
f
j+1=2 ;1
5
3f
j+1=2(
j
=
i
1)
(8.34)
となる.また式(8.32)
において(1+
)
=
8 = (1
;)
=
4
すなわち= 1
=
3
と置けば ,Df
はDf
j+1=2=
f
j+1=2 ;1
6
3f
j+1=2(
j
=
i i
1)
(8.35)
のように1つの式になり,スキームはコンパクトなものになる. 1=12x fi xf 0 i x 2 f 00 i =2! x 3 f 00 0 i =3! x 4 f (4) i =4! x 5 f (5) i =5! 上流差分 中心差分 f i;3 1 ;3 9 ;27 81 ;243 ;1 fi;2 1 ;2 4 ;8 16 ;32 6 1 f i;1 1 ;1 1 ;1 1 ;1 ;18 ;8 fi 1 10 0 f i+1 1 1 1 1 1 1 3 8 fi+2 1 2 4 8 16 32 ;1 上流差分 0 12 0 0 0 72 中心差分 0 12 0 0 0 ;48次に式
(8.33)
を式(8.18)
にならってTVD
化すれば次の4
次のTVD
差分スキームが得られる.h
i+1=2=
h
(1) i+1=2+ 16
D
~~
f
+ i;1=2+ 13
D
~
f
+ i+1=2 ;1
6
D
f
~
; i+3=2 ;1
3
D
f
~~
; i+1=2(8.36)
ただし ,D
f
~
j+1=2= minmod(
Df
j+1=2bDf
j+1=2)
(
j
=
i i
+ 1)
D
f
~~
j+1=2= minmod(
Df
j+1=2bDf
j+3=2)
(
j
=
i
;1
i
)
(8.37)
である.= 1
=
5
の5
次精度スキームの場合には上式のDf
はDf
i+1=2=
f
i+1=2 ;3
20
3f
i+1=2Df
j+1=2=
f
j+1=2 ;1
5
3f
j+1=2(
j
=
i
1)
(8.38)
となる.また= 1
=
3
の4
次精度コンパクトスキームの場合にはDf
j+1=2=
f
j+1=2 ;1
6
3f
j+1=2(
j
=
i i
1)
(8.39)
となる.これらの式で3f
の部分は3
次スキームを4
次または5
次にする補正項である.乱流の数値流体力学,
p.59
,図3.5]
図8.4:
典型的な勾配f
j+1=2D
f
~
j+1=2Df
j+1=2 以上述べた高次上流差分スキームは,3
次上流差分スキームの1
階差分f
を補正項付きの1
階差分Df
に置換えたものであるが,この置換えにかかわらずTVD
条件はそのまま満足されるのであろうか.2
次TVD
スキームの場合の式(8.21a)
に相当の4
次TVD
スキームの式は次のようになる.~~
u
+ i;1=2=
u
+ i;1=2 h1 +
C6
nu
+ i+1=2u
+ i;1=2minmod(1
br
+ i;1=2)
;minmod(
r
; i;1=2b
)
o+
C3
nu
+ i+1=2u
+ i;1=2minmod(
r
+ i;1=2b
)
;minmod(1
br
; i;1=2)
oi高次
TVD
差分スキーム17
ただしここでは,r
+ i;1=2=
D'
i+1=2=D'
i;1=2r
; i;1=2=
D'
i;3=2=D'
i;1=2 C=
D'
i;1=2='
i;1=2 13 とす る.この式から,倍率b
の条件(8.23)
は,Cが正ならば次のように修正される.0
< b
6
C ;1 ;2
(8.40)
また時間ステップt
の条件(8.24)
におけるb
1は次のように修正される.b
1= 1+16
C(1+2
b
)
(8.41)
なおb
の上限に対してはb
1= 3
;C=
2
となる. 図8.4
は,勾配f
(
x
)
とこれに補正項を加えた修正勾配D
f
~
(
x
)
の典型的な挙動を示したものである.た だしD
f
~
j+1=2=
f
j+1=2 ; 3f
j+1=2=
6
はminmod
関数が働かない場合のDf
j+1=2である.修正勾配は基の 勾配に比べ大きい擾乱を含むことが分かる.実際の計算ではこれに起因して不安定性が生じるので,これを 抑える何らかの対策が必要である.上記のChakravarthy-Osher TVD
スキームでは,2
次の補正項の大き さを,この補正項によって新たな関数f
(
x
)
の極値が生じないように,勾配f
にminmod
関数を作用させ てその大きさを制限し ,またこれを可能にする倍率b
の上限が定められた.これに倣いここでは曲率2f
にminmod
関数を作用させてその大きさを制限し,勾配f
(
x
)
に極値が生じないようにすなわち関数f
(
x
)
に変曲点が生じないようにする14 .この考えにしたがえば高次補正項は次のようになる. 3f
j+1=2=
2f
~
j+1 ; 2f
~~
j(
j
=
i i
1)
(8.42)
ただし , 2f
~
k= minmod(
2f
kb
2 2f
k ;1)
2f
~~
k= minmod(
2f
kb
2 2f
k +1)
2f
k=
f
k +1=2 ;f
k ;1=2(8.43)
である.このときDf
の式は分かり易く書けば次のようになる.Df
j+1=2=
8 > > > > > > > > < > > > > > > > > :f
j+1=2 ;1
6(
b
2 ;1)
2f
j(
R > b
2)
f
j+1=2 ;1
6(
R
;1)
2f
j(1
=b
2R
b
2)
(4
次上流差分)
f
j+1=2 ;1
6(1
;b
2)
R
2f
j(0
< R <
1
=b
2)
f
j+1=2(
R
0)
(3
次上流差分)
(8.44)
ただしR
=
2f
j+1=
2f
j,また式(8.37)
のminmod
関数が働けば2
次上流差分になる.図8.4
において直 線の傾きは曲率を表し,変曲点は傾きが正から負またはその逆に変化するときに生ずる.したがって,上図 と上式を参照すれば ,不等式Df
1=2=
f
1=2 ;1
6(1
;b
2)
2f
1f
1=2+12(
f
3=2 ;f
1=2)
Df
3=2=
f
3=2 ;1
6(
b
2 ;1)
2f
1f
3=2 ;1
2(
f
3=2 ;f
1=2)
が成立すれば変曲点は現れないことになる.これらの式から倍率b
2の上限は一般に次のようになる.1
6(
b
2 ;1)
1
2
すなわち1
< b
24
(8.45)
13 CはC
のフォーマルスクリプト体.14
Daiguji, H., Yuan, X. and Yamamoto, S., Stabilization of higher-oder high resolution schemes for the compressible
最後に,条件式
(8.40)(8.41)
におけるCは,経験上は1
と置いて問題ないが,次のように評価される. C=
D'
i;1=2'
i;1=2=
Df
i;1=2f
i;1=2=
8 > > > > > > > > < > > > > > > > > :1
;1
6(
b
2 ;1)(1
;r
;)
(
R > b
2)
1
;1
6(
r
; ;2+
r
+)
(1
=b
2R
b
2)
1
;1
6(1
;b
2)(
r
+ ;1)
(0
< R <
1
=b
2)
1
(
R
0)
ただしr
=
f
i;1=21=f
i;1=2R
=
2f
i=
2f
i;1である.いま上限b
2= 4
を用いることにすれば C=
8 > > > > < > > > > :(1+
r
;)
=
2
(
R >
4)
(8
;r
; ;r
+)
=
6
(1
=
4
R
4)
(1+
r
+)
=
2
(0
< R <
1
=
4)
1
(
R
0)
となる.これよりCの大きさは0
<
C1 + 18
(8.46)
となる.このことを少し噛み砕いていえば ,f
0
2
f
0
の場合にはR
= 1
=
4
r
;= 0
r
+= 5
=
4
の ときにCは最大値1+1
=
8
になり,f <
0
2
f <
0
の場合にも同じことが言える.残るf <
0
2
f
0
とf
0
2
f <
0
の場合にはR
= 4
r
+= 0
r
;= 5
=
4
でCは同じ最大値になる.このCを用いれば ,4
次コンパクトTVD
スキームの倍率b b
2とCourant
数CFL
を制限する条件式は次のようになる.0
< b
10
3 (
4)
(8.47a)
(1
;)
b
1CFL
1
b
1= 39
16 (= 2
:
5)
(8.47b)
0
< b
24
(8.47c)
なお括弧内の数字は3
次TVD
上流差分スキームで用いられているもので,そのまま用いても経験上問題は ないようである. 以上述べた,4
次コンパクトTVD
スキームについて纏めれば ,計算に必要な式は,式(8.36)
,(8.37)
,(8.39){(8.43)
で,b b
1b
2は式(8.47)
によって制限される.この4
次コンパクトTVD
スキームと3
次のChakravarthy-Osher TVD
スキームの式は同形で,既存の3
次Chakravarthy-Osher
スキームのプログラム はf
をDf
に置きかえることによって簡単にこの4
次スキームのプログラムに書き換えることができる. 最後に,このスキームで計算したときに変曲点はど うなるのかという質問に対しては,3
次Chakravarthy-Osher TVD
スキームの計算結果に現れる変曲点はそのまま残るであろう.このことは,変曲点(
R <
0)
の ところでは,式(8.44)
に示すように,4
次の補正項はなく3
次上流差分のままになっていることからも分か る.4
次の補正項は,安定性を確保するために,この補正によって新たな変曲点が生じないようにその大き さが制限される.もし3
次スキームでは現れず,4
次スキームにしてはじめて直接的に現れるような変曲点 があるとすれば ,そのような変曲点はこのスキームでは捕獲できないことになる. 8.4対流差分法
xxxt
空間内に,図8.1
に示すように,空間xxx
内の計算領域に長方形格子(uniform rectangle grid)
を形成し, これに直交するように時間軸t
を取る.上式を点(
xxx
it
n+1
)
対 流 差 分 法