Time Derivative and Upwind Method
Time Derivative Term-11

次に、 NSTEP=50 として、α=1, 0, 0.5 で実行すると、下図の様な結果が得られます。

Explicit method に注目して下さい。条件( Δt<L2/(2k) ) を満足していないために、t=3 以降から解析結果に発散がみられます。

■総合まとめ■
時間項の処理に、3つの方法を紹介しました。Explicit method は、Δtに制限があるが、その代償として、連立方程式を解く必要がありません。つまり、プログラムがシンプルになります。流体の流れと温度を連立に解く様な複合システムの数値計算では、Explicit methodを使うことは出来ません。理由は、流れの速度ベクトル(u, v, w)が温度(T)に関係している場合、Explicit methodの様にu,v,w,Tの各々をt=t+Δtで単独に予測する方法は、数値解が発散してしまうからである。

以上のことから、私は個人的にCrank-Nicolson を使います。Implicit method でも差し支えないのですが、同じ労力(連立方程式を解く)をプログラミングに費やすのであれば、精度の良いCrank-Nicolson method を使いましょう、と言うのが理由です。もし貴方がCrank-Nicolson method を使う場合には、前述の振動に気を付けて下さい。

BACK NEXT Upwind Method
Menu Heat Equation Time derivative Upwind 1 Dim Example