空間微分&ref(eular.eq1.gif,nolink,70%);に関する離散化法について多く述べてきた一方,時間微分&ref(eular.eq2.gif,nolink,70%);に関しては以下の単純な1次精度の離散化しか述べてない. #ref(eular.eq3.gif,nolink,70%) これは前進オイラー法と呼ばれている.これに対して,レベルセット法などでよく用いられるのがTVDルンゲクッタ(Total-Variation Diminishing Runge-Kutta:以下TVD RK)である.ルンゲクッタ法は時間方向の離散化法としてもっともポピュラーな方法であり,次数を上げていけばどんどん精度も上がる(高次(8次精度など)のルンゲクッタは衛星の軌道計算などにも用いられているらしい).実際には前進オイラー法は1次精度のTVD RKと同じである.ここでは2次と3次精度のTVD RKを使った移流方程式の数値解法について述べる. これは前進オイラー法と呼ばれている.これに対して,レベルセット法などでよく用いられるのがTVDルンゲクッタ(Total-Variation Diminishing Runge-Kutta:以下TVD RK)である.ルンゲクッタ法は時間方向の離散化法としてもっともポピュラーな方法であり,次数を上げていけばどんどん精度も上がる(高次(8次精度など)のルンゲクッタ(RK)は衛星の軌道計算などにも用いられているらしい).実際には前進オイラー法は1次精度のRKと同じである.TVD RKはTVDを満たすRKである.また,計算時間はかかるが安定した数値計算が可能な陰解法や予測子・修正子法などもある. ***2次精度のTVD RK(修正オイラー法) [#w615de42] 2次精度のTVD RKは修正オイラー法としても知られている. まず最初に前進オイラー法により&ref(eular.eq4.gif,nolink,70%);を求める. #ref(eular.eq5.gif,nolink,70%) &ref(eular.eq4.gif,nolink,70%);からさらに&ref(eular.eq6.gif,nolink,70%);での値&ref(eular.eq7.gif,nolink,70%);を求める. #ref(eular.eq8.gif,nolink,70%) &ref(eular.eq9.gif,nolink,70%);と&ref(eular.eq7.gif,nolink,70%);の平均をとることで,最終的な値を得る. #ref(eular.eq10.gif,nolink,70%)