対流項を持つ偏微分方程式の数値解法2 風上差分の高精度化をはかる


 


fは何度でも微分できる関数とすると、



(1)、(2)式からf''(x)を消去し、f'(x)について解くと、



となる。


ここで、



とおくと、



となり、2次精度の差分による近似式を得ることができる。


これは、の3点を用いて、曲線y=f(x)を2次関数で近似し、この近似式から微分係数を求めていることと同じこと。


だから、一般的に、の2点を用いて、



と後退差分を用いて求めた微分係数の近似値よりは精度がよい。


実際、f(x)=x²とすると、



となり、f(x)が1次関数、2次関数のとき、(3)式は正確に微分係数を求めることを確かめることができる。


 


前回、



の空間微分を



と風上差分(上流差分)で近似し、



という漸化式を得た。


ここで、



で、Cはクーラン数である。


 


(8)式は1次精度しか持っていないので、新たに得た2次の精度をもつ(左側)差分を用いて、



高精度化をはかることにする。


すると、(7)式は



したがって、



という漸化式を得ることができ、これを用いて逐次的に偏微分方程式(7)の数値解を求めることができる。


 


この方針にしたがって、c=0.5Δt=Δx=1、つまり、クーラン数



について解いたものが次のグラフ。



比較参照のために、厳密解と1次精度の上流差分を用いて計算した結果は次の通り。



厳密解である垂直衝撃の前方では2次精度の風上差分の計算結果の方が厳密解に近いのだけれど、下流のx=4以降で負の値を持ち、その後、数値解が振動するなど、2次精度の上流差分は物理的にありえない数値解を求めてしまう。


 


また、c=0.5Δx=Δt=1とし、クーラン数C=0.5とすると、時間の経過と共に、垂直衝撃波の下流での振動が激しくなる。1次精度の風上差分は



だから、風上差分の高精度にすると、安定に計算できるクーラン数の範囲が狭くなるようだ。