ルンゲクッタ法などの解法は1次元,一定幅グリッドではTV安定であるが, 多次元,可変幅グリッドではどうか?という問題がある. これに対して,TVDを満たすルンゲクッタがTVD RK&note{Shu1988:C.-W. Shu and S. Osher, "Efficient implementation of essentially non-oscillatory shock capturing schemes", J. Comput. Phys. 77, pp.439-471, 1988.};である(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

各係数の導出は長くなりそうなので省略(&note{Shu1988};参照}.

tvdrk.eq41.gif

TVD,TVB

TVD(Total-Variation Diminishing)&note{Harten1983:A. Harten, "High resolution schemes for hyperbolic conservation laws", J. Comput. Phys. 49, pp.357-393, 1983.};は非線形方程式の収束条件のひとつである. 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のみに依存する定数である.


添付ファイル: filetvdrk.eq43.gif 716件 [詳細] filetvdrk.eq44.gif 732件 [詳細] filetvdrk.eq45.gif 723件 [詳細] filetvdrk.eq46.gif 736件 [詳細] filetvdrk.eq47.gif 746件 [詳細] filetvdrk.eq5.gif 648件 [詳細] filetvdrk.eq6.gif 612件 [詳細] filetvdrk.eq7.gif 675件 [詳細] filetvdrk.eq8.gif 684件 [詳細] filetvdrk.eq9.gif 645件 [詳細] filetvdrk.eq30.gif 584件 [詳細] filetvdrk.eq31.gif 732件 [詳細] filetvdrk.eq32.gif 619件 [詳細] filetvdrk.eq33.gif 635件 [詳細] filetvdrk.eq34.gif 634件 [詳細] filetvdrk.eq35.gif 664件 [詳細] filetvdrk.eq36.gif 637件 [詳細] filetvdrk.eq37.gif 629件 [詳細] filetvdrk.eq38.gif 675件 [詳細] filetvdrk.eq39.gif 615件 [詳細] filetvdrk.eq4.gif 735件 [詳細] filetvdrk.eq40.gif 621件 [詳細] filetvdrk.eq41.gif 701件 [詳細] filetvdrk.eq42.gif 719件 [詳細] filetvdrk.eq2.gif 682件 [詳細] filetvdrk.eq3.gif 621件 [詳細] filetvdrk.eq18.gif 593件 [詳細] filetvdrk.eq19.gif 608件 [詳細] filetvdrk.eq20.gif 622件 [詳細] filetvdrk.eq21.gif 621件 [詳細] filetvdrk.eq22.gif 600件 [詳細] filetvdrk.eq23.gif 729件 [詳細] filetvdrk.eq24.gif 680件 [詳細] filetvdrk.eq25.gif 681件 [詳細] filetvdrk.eq26.gif 604件 [詳細] filetvdrk.eq27.gif 690件 [詳細] filetvdrk.eq28.gif 684件 [詳細] filetvdrk.eq29.gif 620件 [詳細] filetvdrk.eq1.gif 631件 [詳細] fileTVD_RK.eq4.gif 649件 [詳細] fileTVD_RK.eq5.gif 643件 [詳細] fileTVD_RK.eq6.gif 665件 [詳細] fileTVD_RK.eq7.gif 703件 [詳細] fileTVD_RK.eq8.gif 689件 [詳細] fileTVD_RK.eq9.gif 609件 [詳細] filetvdrk.eq10.gif 645件 [詳細] filetvdrk.eq11.gif 656件 [詳細] filetvdrk.eq12.gif 676件 [詳細] filetvdrk.eq13.gif 669件 [詳細] filetvdrk.eq14.gif 602件 [詳細] filetvdrk.eq15.gif 646件 [詳細] filetvdrk.eq16.gif 624件 [詳細] filetvdrk.eq17.gif 666件 [詳細] fileTVD_RK.eq1.gif 678件 [詳細] fileTVD_RK.eq10.gif 667件 [詳細] fileTVD_RK.eq11.gif 647件 [詳細] fileTVD_RK.eq12.gif 640件 [詳細] fileTVD_RK.eq13.gif 715件 [詳細] fileTVD_RK.eq14.gif 636件 [詳細] fileTVD_RK.eq15.gif 714件 [詳細] fileTVD_RK.eq16.gif 628件 [詳細] fileTVD_RK.eq17.gif 684件 [詳細] fileTVD_RK.eq18.gif 617件 [詳細] fileTVD_RK.eq19.gif 685件 [詳細] fileTVD_RK.eq2.gif 616件 [詳細] fileTVD_RK.eq3.gif 676件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-03-08 (金) 18:06:07