ルンゲクッタ法などの解法は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 669件 [詳細] filetvdrk.eq46.gif 666件 [詳細] filetvdrk.eq47.gif 672件 [詳細] filetvdrk.eq43.gif 646件 [詳細] filetvdrk.eq42.gif 649件 [詳細] filetvdrk.eq45.gif 654件 [詳細] filetvdrk.eq2.gif 616件 [詳細] filetvdrk.eq27.gif 617件 [詳細] filetvdrk.eq31.gif 657件 [詳細] filetvdrk.eq25.gif 616件 [詳細] filetvdrk.eq17.gif 600件 [詳細] filetvdrk.eq38.gif 590件 [詳細] filetvdrk.eq11.gif 591件 [詳細] filetvdrk.eq12.gif 613件 [詳細] filetvdrk.eq1.gif 570件 [詳細] filetvdrk.eq4.gif 674件 [詳細] filetvdrk.eq8.gif 612件 [詳細] filetvdrk.eq41.gif 617件 [詳細] filetvdrk.eq35.gif 603件 [詳細] filetvdrk.eq3.gif 561件 [詳細] filetvdrk.eq13.gif 609件 [詳細] filetvdrk.eq15.gif 573件 [詳細] filetvdrk.eq7.gif 618件 [詳細] filetvdrk.eq33.gif 568件 [詳細] filetvdrk.eq5.gif 585件 [詳細] filetvdrk.eq32.gif 550件 [詳細] filetvdrk.eq34.gif 568件 [詳細] filetvdrk.eq9.gif 575件 [詳細] filetvdrk.eq29.gif 537件 [詳細] filetvdrk.eq21.gif 553件 [詳細] filetvdrk.eq24.gif 607件 [詳細] filetvdrk.eq23.gif 636件 [詳細] filetvdrk.eq10.gif 576件 [詳細] filetvdrk.eq20.gif 554件 [詳細] filetvdrk.eq37.gif 564件 [詳細] filetvdrk.eq28.gif 619件 [詳細] filetvdrk.eq40.gif 563件 [詳細] filetvdrk.eq39.gif 530件 [詳細] filetvdrk.eq14.gif 534件 [詳細] filetvdrk.eq19.gif 534件 [詳細] filetvdrk.eq36.gif 569件 [詳細] filetvdrk.eq6.gif 546件 [詳細] filetvdrk.eq30.gif 524件 [詳細] filetvdrk.eq18.gif 529件 [詳細] filetvdrk.eq22.gif 527件 [詳細] filetvdrk.eq16.gif 566件 [詳細] filetvdrk.eq26.gif 551件 [詳細] fileTVD_RK.eq10.gif 601件 [詳細] fileTVD_RK.eq16.gif 558件 [詳細] fileTVD_RK.eq7.gif 628件 [詳細] fileTVD_RK.eq4.gif 574件 [詳細] fileTVD_RK.eq5.gif 572件 [詳細] fileTVD_RK.eq19.gif 610件 [詳細] fileTVD_RK.eq11.gif 566件 [詳細] fileTVD_RK.eq12.gif 570件 [詳細] fileTVD_RK.eq17.gif 597件 [詳細] fileTVD_RK.eq14.gif 552件 [詳細] fileTVD_RK.eq2.gif 547件 [詳細] fileTVD_RK.eq8.gif 619件 [詳細] fileTVD_RK.eq6.gif 591件 [詳細] fileTVD_RK.eq1.gif 608件 [詳細] fileTVD_RK.eq9.gif 541件 [詳細] fileTVD_RK.eq18.gif 550件 [詳細] fileTVD_RK.eq3.gif 599件 [詳細] fileTVD_RK.eq13.gif 634件 [詳細] fileTVD_RK.eq15.gif 646件 [詳細]

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