趣味で計算流砂水理

趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning

数値計算とか河川工学とかプログラミングのことを書いています

MENU

不等流計算と不定流計算

結構忙しくて全然書けておりません。すいません。

不等流計算と不定流計算について

メールでも送った話ですが結構面白かったので、書いておきます。

不等流計算と不定流計算の定常解の計算値に結構差がでるなと気付き、色々考えてみました。

計算結果がフィールドを対象としているため、結果は出せないのが辛いところです。

物理的な根拠としては、Frが1以下の場合は下流の影響のみで評価できるというのは矩形で、dB/dxが漸変的な流れで導出される考え方であり、当然上下流の影響は受けるとだろうということだと思います。

また、一般断面の場合、Frの定義にもdA/dBを考慮する必要があると思います。

後日式関係も整理しておきます。

この辺のからみで高橋保先生の面白い実験があったので、再現計算してみようと思います。

いっしょにやりませんか。

一般断面のHLLCを書いてほしいなあ。。。

FORTRAN環境ってあります?

たしか以前Mac OSのアップデートでgfortranに問題あるって言ってましたけど、環境はどうでしょうか?

上記のコードはF2003で書いているのでできれば環境を構築してほしいなと思ってます。gfortran4.8シリーズが安定してるのでおすすめです。5.0シリーズは全然使えないです。

関係ないですがVScode使い始めました。いい出来ですね。まだ慣れてないですが、言語に よってはデバッグもできるようだし、IDE的にもなるのかなと思ってます。

水面勾配


集中格子の場合

H(i-1)=H(i+1)=0.0,H(i)=1.0の場合,dH/dx=0 これは、各水面勾配の重みが0.5となり、打ち消しあって0になるようですね。

物理現象からすると、iの地点においてi+1とi-1の地点にそれぞれ流れが発生するようになるはずですが、 集中格子が原因でダメですね。

ちょうど、非圧縮生流体の解析のように、集中格子の場合のチェッカーボードの振動のようですね。

解決策

  • 不等間隔格子

非圧縮生流体の場合、不等間隔格子を使うとチェッカーボードの振動は入らないようですが、 そもそもの解決になっていないように思います。

  • その場しのぎの処理

質量保存がどうなるかわかりませんが、水位をうまく割り振るしかないのかなと思います。 あまりスマートではないですね。

水面勾配項の離散化について

前回の記事で,二次元水面に山のような地形が残る要因がわかりました.

凸地形のdH/dxの処理です.流速が0の場合,中央差分としておりますが,H(i-1)=H(i+1)=0.0,H(i)=1.0の場合,dH/dxは0となってしまいます.このような場合,どういう処理が一般的がご存知ですか?

多分凹地形でもどうようの処理が必要なはずです.

2次元ダムブレーク

2次元ダムブレーク

私も書いてみました.

  • up-wind flux schemeです.
  • jupyterです.計算時間は20秒で15分くらいです.gif作成のために200コマ書き出しているので,それが計算が遅くなる原因です.
  • 1Dは,jupyterでgifを表示していましたが,上手くいかないので静止画書き出し後別ソフトで結合してます.
  • 1Dと同様に完全反射境界にしております.

f:id:SedimentHydraulics:20161019191604p:plainf:id:SedimentHydraulics:20161019191611p:plain

  • 振動は無いのですが,水面が不安定です.多分どこか間違ってます.

  • gifをあげたいのですが,重くて駄目です.

  • gifはDBにおいておきます.結構凄いですよ.ぜひ見て下さい.

  • 完成したらgistに上げますがちょっとまだですね.

  • ちなみにドライベットだと飛びます.

Jupyter Hydraulics

ついにGithubを立ち上げました

いまいち使い方をわかっておりません. 最近はJupyterばかりなので,「Jupyter Hydraulics」と題して,ソースをGistにあげようかと思ってます.アカウント情報はDBに置いておきます.やり過ぎていたら止めて下さい.

とりあえず,昨日のコードです.

ドライベットダムブレームからの反射境界

完全に遊びです.

ドライベットと言っても10^-4mの水深を与えてます.

飛びそうで飛ばない不思議な計算です.さすが,up wind flux schemeです.

予定では明日このブログ用のgithubを立ち上げます.

f:id:SedimentHydraulics:20161014202136g:plain