Time Derivative and Upwind Method
Upwind Method-5

この差分式にも、下に示すGeneral solution が存在します。

Ti = D1+D2(B/A)i

ここに、i は整数、D1とD2は境界条件によって決まる定数です。この時点で明らかなことは、A≠0 です。しかし、よく観察すると A>0 の条件が必要になってきます。何故かと言うと、A <0だった場合、(B/A)iの値のB/Aの符号が整数iによってスイッチすることになりますね。

また、|B|>|A| ですから、|(B/A)i| は、iが大きくなりにつれ急激に大きくなります。ちなみに、下の条件で計算を行うと、下図のグラフ(FEM solution)に示す様な山切りの解が得られます。

kuT(x=0)T(x=1)領域の長さ要素数要素の長さ
1100101200.05

図のグラフの様な結果を出す数値計算方法では、解析に役立ちません。このままで、一応満足する解をだすには、 A>0 にする必要があります。つまり、要素の長さ(L)を、下式の条件に満足するように、 維持しなければなりません。

L<2k/u

これは大変なことです。何故かと言うと、kとuか変わるたびに 要素の長さを変更しなければならないからです。

■Upwind Method■
要素の長さを変更しなくても、理屈にかなった解が得られないかと考え出されたのが、風上差分(後程説明)です。安定した解は得られる様になりましたが、風上差分の解析精度の保証がいまいちでした。 そこで、考えだされたのが、次に示すUpwind Methodです。

変数 A がゼロにならないように、A にαγを加算してやります。するとAは、下式の様になります。

A = 1 - γ + αγ

そして、Bにもαγを加算してやります。 この理由については、後程、差分式のところで説明します。

B = 1 + γ + αγ

BACK NEXT
Menu Heat Equation Time derivative Upwind 1 Dim Example