プログラム関連

移流方程式を解くためのさまざまなスキーム

 移流方程式
 ∂φ/∂t + v・∇φ = 0
を解くための基本的なスキームについて異なるクーラン数における厳密解と数値解の比較を行った。検証したスキームは以下の通りである。
  1. 二次精度中心差分法
  2. 四次精度中心差分法
  3. 一次精度風上差分法
  4. ライス法(Leith scheme)、あるいはラックス・ベンドロフ法(Lax-Wendroff scheme)(時間・空間ともに二次精度)
  5. QUICK法(Quadratic Upstream Interpolation for Convective Kinematics)(二次精度)
  6. QUICTEST法(QUICK with Estimated Streaming Terms)(三次精度)
  7. 三次精度風上差分法
  8. 三次精度風上差分法(河村・桑原スキーム)
  9. TVD法(Total Variation Diminishing scheme)(リミター関数:minmod関数)
  10. TVD法(リミター関数:superbee関数)
  11. TVD法(リミター関数:general-β関数)
  12. CIP(Cubic-Interpolated Pseudoparticle)法
 下の図は各スキームでクーラン数Cを0.5、0.2、0.1、0.01と設定した場合で、青線が厳密解、黒線が数値解である。






 (a) 2次精度の中心差分法.時間刻み幅を小さくすると数値振動が押さえられるが物理量が局所的に変化するところで若干のオーバーシュートが見られる.(b) 4次精度の中心差分法.時間刻み幅をかなり小さくしなければ数値振動が発生するが,十分小さくすると2次精度の中心差分法よりも精度がよい.(c) 1次精度の風上差分法.どんな時間刻み幅でも安定であるが,大きな数値拡散が発生する.(d) ライス法(ラックス・ベンドロフ法).2次中心差分法による数値拡散を打ち消していることにより,どんな時間刻み幅でも安定だが,十分小さな時間刻みを取ると結果は(a)とほとんど変わらない.(e) 2次精度のQUICK法.2次中心差分法より精度がよい.(f) 3次精度のQUICKEST法.どんな時間刻み幅でもかなり安定で,解の形も非常に良く保存されている.(g) 3次精度の風上差分法,及び,(h)その改良版の河村・桑原スキーム.十分に時間刻み幅が小さいとQUICKEST法と遜色がないが,時間刻み幅が大きいと数値振動が発生する.(i-k) TVD法.どんな時間刻み幅でも安定であるが,リミターの関数の違いにより解の形は変化する.(i)はminmod関数,(j)はsuperbee関数,(k)はgeneral-β関数を使用した場合.(l) CIP法.どんな時間刻み幅でも安定で,解の形も非常に良く保存されている.
 プログラムと作図用のGMTスクリプトはこちら(zipファイル)。
 上記の簡単なまとめはこちら(PDF)。