ルンゲクッタ法などの解法は1次元,一定幅グリッドではTV安定であるが, 多次元,可変幅グリッドではどうか?という問題がある. これに対して,TVDを満たすルンゲクッタがTVD RK(1)である(TVDについては下参照).

移流方程式の時間微分以外の項をtvdrk.eq1.gifとして,一般的なRKは,

tvdrk.eq2.gif

ここで,tvdrk.eq3.gifである. 上付のtvdrk.eq4.gifはRKのステップごとの中間値を示している.

これに対して,TVD RKは以下である.

tvdrk.eq5.gif

ここで,

tvdrk.eq6.gif

TVD RK2

2次精度のTVD RKはRKにおける修正オイラー法(RK2)に対応する.

tvdrk.eq7.gifで,

tvdrk.eq8.gif

,ら,

tvdrk.eq9.gif

△ら,

tvdrk.eq10.gif

ここで,通常のRKのtvdrk.eq11.gifを用い, さらに,tvdrk.eq12.gifとすると,

tvdrk.eq13.gif

よって,

tvdrk.eq14.gif

TVD RK2ではtvdrk.eq15.giftvdrk.eq16.gifについての2回の前進オイラー法の組み合わせで成り立っている. この事実を使った実装を以下に示す.

  1. 前進オイラー法によりtvdrk.eq16.gifを求める.
    tvdrk.eq17.gif
  1. 前進オイラー法によりtvdrk.eq16.gifからtvdrk.eq18.gifを求める.
    tvdrk.eq19.gif
  1. tvdrk.eq20.giftvdrk.eq18.gifの平均をとることで,最終的な値を得る.
    tvdrk.eq21.gif

TVD RK3

tvdrk.eq22.gifで,

tvdrk.eq23.gif

,ら,

tvdrk.eq24.gif

△ら,

tvdrk.eq25.gif

ここで,通常のRKのtvdrk.eq26.gifを用い,

tvdrk.eq27.gif

tvdrk.eq28.gifとすると,

tvdrk.eq29.gif

よって,

tvdrk.eq30.gif

TVD RK3では3回の前進オイラー法の組み合わせ(tvdrk.eq15.giftvdrk.eq16.giftvdrk.eq31.gifについて)で成り立っている. TVD RK2と同様に,この事実を使った実装を以下に示す.

  1. TVD RK2と同じく2回の前進オイラー法によりtvdrk.eq32.gifを求める.
    tvdrk.eq33.gif
  1. 以下の凸結合によりtvdrk.eq31.gif
    tvdrk.eq34.gif
  1. tvdrk.eq31.gifから前進オイラー法でtvdrk.eq35.gifを算出する.
    tvdrk.eq36.gif
  1. 最終的に,以下の凸結合によりtvdrk.eq37.gifを近似する.
    tvdrk.eq38.gif

TVD RK4

tvdrk.eq39.gifで,

tvdrk.eq40.gif

各係数の導出は長くなりそうなので省略((1)参照}.

tvdrk.eq41.gif

TVD,TVB

TVD(Total-Variation Diminishing)(2)は非線形方程式の収束条件のひとつである. nステップ目でのTV(Total-Variation : 全変動)は以下のように定義される.

tvdrk.eq42.gif

これを離散化すると,

tvdrk.eq43.gif

となる.そして,

tvdrk.eq44.gif

を満たすとき,TV安定であるといい,その数値計算手法はTVDと呼ばれる. また,

tvdrk.eq45.gif

を満たすとき,TVB(Total-Variation Bounded)であるという. ここでtvdrk.eq46.giftvdrk.eq47.gifのみに依存する定数である.


(1)  C.-W. Shu and S. Osher, "Efficient implementation of essentially non-oscillatory shock capturing schemes", J. Comput. Phys. 77, pp.439-471, 1988.
(2)  A. Harten, "High resolution schemes for hyperbolic conservation laws", J. Comput. Phys. 49, pp.357-393, 1983.

添付ファイル: filetvdrk.eq44.gif 449件 [詳細] filetvdrk.eq46.gif 455件 [詳細] filetvdrk.eq47.gif 433件 [詳細] filetvdrk.eq43.gif 433件 [詳細] filetvdrk.eq42.gif 427件 [詳細] filetvdrk.eq45.gif 449件 [詳細] filetvdrk.eq2.gif 450件 [詳細] filetvdrk.eq27.gif 435件 [詳細] filetvdrk.eq31.gif 443件 [詳細] filetvdrk.eq25.gif 444件 [詳細] filetvdrk.eq17.gif 432件 [詳細] filetvdrk.eq38.gif 398件 [詳細] filetvdrk.eq11.gif 407件 [詳細] filetvdrk.eq12.gif 450件 [詳細] filetvdrk.eq1.gif 416件 [詳細] filetvdrk.eq4.gif 399件 [詳細] filetvdrk.eq8.gif 437件 [詳細] filetvdrk.eq41.gif 419件 [詳細] filetvdrk.eq35.gif 441件 [詳細] filetvdrk.eq3.gif 405件 [詳細] filetvdrk.eq13.gif 427件 [詳細] filetvdrk.eq15.gif 406件 [詳細] filetvdrk.eq7.gif 417件 [詳細] filetvdrk.eq33.gif 406件 [詳細] filetvdrk.eq5.gif 392件 [詳細] filetvdrk.eq32.gif 408件 [詳細] filetvdrk.eq34.gif 419件 [詳細] filetvdrk.eq9.gif 412件 [詳細] filetvdrk.eq29.gif 383件 [詳細] filetvdrk.eq21.gif 401件 [詳細] filetvdrk.eq24.gif 377件 [詳細] filetvdrk.eq23.gif 449件 [詳細] filetvdrk.eq10.gif 416件 [詳細] filetvdrk.eq20.gif 394件 [詳細] filetvdrk.eq37.gif 407件 [詳細] filetvdrk.eq28.gif 412件 [詳細] filetvdrk.eq40.gif 376件 [詳細] filetvdrk.eq39.gif 399件 [詳細] filetvdrk.eq14.gif 387件 [詳細] filetvdrk.eq19.gif 357件 [詳細] filetvdrk.eq36.gif 417件 [詳細] filetvdrk.eq6.gif 396件 [詳細] filetvdrk.eq30.gif 374件 [詳細] filetvdrk.eq18.gif 383件 [詳細] filetvdrk.eq22.gif 367件 [詳細] filetvdrk.eq16.gif 403件 [詳細] filetvdrk.eq26.gif 351件 [詳細] fileTVD_RK.eq10.gif 455件 [詳細] fileTVD_RK.eq16.gif 409件 [詳細] fileTVD_RK.eq7.gif 437件 [詳細] fileTVD_RK.eq4.gif 426件 [詳細] fileTVD_RK.eq5.gif 417件 [詳細] fileTVD_RK.eq19.gif 439件 [詳細] fileTVD_RK.eq11.gif 413件 [詳細] fileTVD_RK.eq12.gif 416件 [詳細] fileTVD_RK.eq17.gif 449件 [詳細] fileTVD_RK.eq14.gif 394件 [詳細] fileTVD_RK.eq2.gif 387件 [詳細] fileTVD_RK.eq8.gif 448件 [詳細] fileTVD_RK.eq6.gif 448件 [詳細] fileTVD_RK.eq1.gif 440件 [詳細] fileTVD_RK.eq9.gif 392件 [詳細] fileTVD_RK.eq18.gif 412件 [詳細] fileTVD_RK.eq3.gif 442件 [詳細] fileTVD_RK.eq13.gif 404件 [詳細] fileTVD_RK.eq15.gif 464件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-11-01 (火) 17:55:48 (3176d)