趣味で計算流砂水理

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

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

MENU

水面勾配


集中格子の場合

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

死の谷

死の谷

会った時にでも議論できれば。

基礎研究と応用研究があまりにかけ離れすぎてるように思います。 結果として、どっちもダメだと言われてる気がします。

デスバレー (研究開発) - Wikipedia

自己符号化器

最近、深層学習の本をチラチラ読んでますが、 自己符号化器というのが出てきます。 これは、いろんなパラメータがあるけど、パラメータを減らして、 同じ結果を出すことをやります。

主成分分析(いわゆる次元圧縮)に似ていますが、ニューラルネットに使います。 ここら辺を使うと、人間がわかりやすい事ができるのではないかと思いますし、 現在考えられている世界に落とし込むことができるヒントになるのではないかと思います。

取り急ぎ。