2016年2月23日火曜日

LS-RAPID 2.1 の収束性

LS-RAPID Ver. 2.1 で、斜面横方向に向かう土砂の飛び出しが発生しました。

どうして急に勢いがついて飛び出すのか?は、以前から疑問でした。LS-RAPID で計算を行うと、頻繁に「粒子法?」と見紛う結果が出てきます。

今回のケースでは、メッシュ間隔(5m)を dt(0.01s)×v(500m/s) が超えたときに発生していました。これを起こさないように、v に応じて dt を自動設定してくれる機能があるのですが、こちらもうまく機能しないようです。いえ、機能しているのかもしれませんが、そもそも、500m/sなどと、自由落下を超えた異常な速度が発生してしまえば、dt をいくら細かく刻もうと速度はすぐに低下しないのでしょう。なぜ、このような異常値が出てしまうのでしょうか?

まず疑うのは反復計算の収束判定値が甘い点。
これについては以前、五大さんのサポートに問い合わせたことがあります。が、残念ながら、五大さんはソルバーの中身にはノータッチだそうです。京大の先生の制作になっていますから、著作権含め分担・契約がきっちりあるのでしょう。

再度、サポートさんに詳しい話を伺ったところ、LS-RAPID では「反復回数だけ決めて、収束判定をしていない」とのこと。驚愕です。ま、サポートさんも詳しいことは御存知ないのかもしれませんので、真偽のほどは分かりません。ですが、どのような異常値が出ても発散せずに(途中で計算が止まらずに)、計算が最後まで続くことや、体積がどんどん増えていくこと(支配方程式が解けていないこと)などを考えると、辻褄は合います。収束判定値が甘いといったレベルでなく、「反復回数だけ決めて、収束判定をしていない」といった理解の方が正しそうです。

そうなると、不自然でない計算結果が得られても、途中の計算で収束しているかどうか、現状では判断できません。サポートさん曰く「それなりの形になれば収束していると判断している」とのこと。つまり、異常な速度が出たり、土砂が飛び出すような結果になれば、途中で発散、収束していないと判断するそうです。うーん。
一つの手としては、計算中に体積変化をチェックし、増え出したら OUT と判定する方法があるでしょう。ただ、増えなかったことはありませんし、判定できても対策はありません。つまり、現状、お手上げです。

緩い地すべりでは体積も増えないそうです。LS-RAPIDは、このような緩い、ゆっくりした動きでないと、本来適用できないのかもしれません。急斜面での崩壊や土石流などの問題に適用するにつれ不具合が生じ、それを押さえ込むパラメーターを追加していった、という経緯のようです。支配方程式やアルゴの点では、崩壊に対しても比較的安定して答えの出せる LSFLOW の方が、現段階では優秀ということでしょう。
LS-RAPIDは、次の Ver. に期待することにして、当分寝かせておきましょう。


0 件のコメント:

コメントを投稿