名前
平面2次元だと何がよいのでしょうかね。個人的には2DSWEが解りやすい気がします。
Horizontalでもわかりますが、Shallow Water Equationの方が、浅水流近似してる事が明確だから好きなのかもしれません。
1D Upwind Flux Scheme
以前頂いた1次元版のDamBreakを回してみましたが、 下流側の水深0.001mくらいなら計算できそうですね。 ここら辺の勉強はちゃんとやってないので、評価はできないのですが・・・。
2D Upwind Flux Scheme
Reference に記述されてた「Two-dimentional numerical simulation of Malpasset dambreak wave propagation」ってご存知ですか?って書こうと思ったら、やっぱりないんですね。 探してみたのですが、マイナーな感じのジャーナルだったので見つかりませんでした。
「Two-dimensional dam break flooding simulation: a GIS-embedded approach」ありがとうございます。ちゃんと離散式が書いてあるので、参考になりそうです。空間(x方向、y方向)でSplittingはしてないんですね。ちょっと追っかけてみます。
個人的にはCSLRが好きなのですが、Wuさんの本や、Yingさんの論文でも書いてあるとおり、 ただ流れを解くなら良いのですが、境界条件が複雑なので、安定性が必要ですし、 何よりシンプルなアルゴリズムの方が、うまく解けない時の原因が特定しやすいと思います。
数値計算のテクニック的なところで悩むのはあまり本質的じゃないです。 (まあ、そういうの好きですが、あくまで現象を見るのが本質ですから)
境界条件
上流端
上流端はハイドロを与えるので、ディリクレ条件ではないのでしょうか?
運動量(?)を考えるやり方があるのであれば教えて下さい。
下流端
下流端は流量の勾配0としてノイマン条件で良いかと思います。
集中格子で考えていますが、あくまでConservative Schemeなので、 コントロールボリュームを考えてあげる必要があるかと。
水際
これが一番処理が面倒くさいように思います。 私がやるなら、長田さんのやり方を踏襲するのが第一歩かな。
スキーム
結局、境界条件の煩雑さがスキームの簡便さと安定性を求める要因です。 煩雑なものを使うとかなり面倒くさい事になりそうです。