ルンゲクッタ法などの解法は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.eq5.gif 567件 [詳細] filetvdrk.eq47.gif 657件 [詳細] filetvdrk.eq41.gif 602件 [詳細] filetvdrk.eq45.gif 639件 [詳細] filetvdrk.eq7.gif 604件 [詳細] filetvdrk.eq43.gif 624件 [詳細] filetvdrk.eq6.gif 531件 [詳細] filetvdrk.eq44.gif 651件 [詳細] filetvdrk.eq8.gif 600件 [詳細] filetvdrk.eq9.gif 551件 [詳細] filetvdrk.eq42.gif 632件 [詳細] filetvdrk.eq46.gif 654件 [詳細] filetvdrk.eq31.gif 640件 [詳細] filetvdrk.eq37.gif 540件 [詳細] filetvdrk.eq3.gif 544件 [詳細] filetvdrk.eq28.gif 605件 [詳細] filetvdrk.eq38.gif 575件 [詳細] filetvdrk.eq35.gif 587件 [詳細] filetvdrk.eq40.gif 547件 [詳細] filetvdrk.eq39.gif 519件 [詳細] filetvdrk.eq34.gif 554件 [詳細] filetvdrk.eq36.gif 556件 [詳細] filetvdrk.eq24.gif 573件 [詳細] filetvdrk.eq33.gif 560件 [詳細] filetvdrk.eq30.gif 508件 [詳細] filetvdrk.eq4.gif 651件 [詳細] filetvdrk.eq25.gif 606件 [詳細] filetvdrk.eq22.gif 513件 [詳細] filetvdrk.eq23.gif 626件 [詳細] filetvdrk.eq27.gif 601件 [詳細] filetvdrk.eq29.gif 527件 [詳細] filetvdrk.eq32.gif 534件 [詳細] filetvdrk.eq26.gif 524件 [詳細] fileTVD_RK.eq9.gif 536件 [詳細] filetvdrk.eq17.gif 584件 [詳細] filetvdrk.eq13.gif 591件 [詳細] fileTVD_RK.eq6.gif 589件 [詳細] fileTVD_RK.eq7.gif 618件 [詳細] filetvdrk.eq19.gif 515件 [詳細] filetvdrk.eq15.gif 561件 [詳細] filetvdrk.eq1.gif 560件 [詳細] filetvdrk.eq20.gif 540件 [詳細] filetvdrk.eq11.gif 579件 [詳細] filetvdrk.eq10.gif 571件 [詳細] fileTVD_RK.eq5.gif 568件 [詳細] filetvdrk.eq21.gif 541件 [詳細] filetvdrk.eq14.gif 525件 [詳細] filetvdrk.eq16.gif 549件 [詳細] filetvdrk.eq18.gif 513件 [詳細] fileTVD_RK.eq8.gif 614件 [詳細] filetvdrk.eq12.gif 596件 [詳細] fileTVD_RK.eq4.gif 567件 [詳細] filetvdrk.eq2.gif 603件 [詳細] fileTVD_RK.eq10.gif 594件 [詳細] fileTVD_RK.eq3.gif 596件 [詳細] fileTVD_RK.eq16.gif 544件 [詳細] fileTVD_RK.eq13.gif 629件 [詳細] fileTVD_RK.eq15.gif 636件 [詳細] fileTVD_RK.eq2.gif 530件 [詳細] fileTVD_RK.eq1.gif 611件 [詳細] fileTVD_RK.eq19.gif 603件 [詳細] fileTVD_RK.eq17.gif 593件 [詳細] fileTVD_RK.eq11.gif 560件 [詳細] fileTVD_RK.eq12.gif 563件 [詳細] fileTVD_RK.eq14.gif 548件 [詳細] fileTVD_RK.eq18.gif 542件 [詳細]

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