趣味で計算流砂水理

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

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

MENU

docker for windowsで、ubuntuのデスクトップ(GUI)を作りたい

docker for windowsで、ubuntuのデスクトップ(GUI)を作りたいけど、失敗したという話です。

延べ2日間くらいやりましたが、駄目でした。

docker for windowsのインストール

特に、何の問題もないですが、プロキシ環境なので、その設定だけです。

dockerとubuntuのそれぞれで設定が必要です。

ubuntuデスクトップに接続できない

xrdpによる方法

https://qiita.com/umchifre/items/17947016c236b568951d を参考に作ってみました。

環境構築まではほぼ問題なし。 port:3389がwindowsリモートデスクトップで使われているので、13389に変更しました。

リモートデスクトップから接続を試みましたが駄目です。 1台のPCなので、IPがよくわからないです。

vncによる方法

http://ivis-mynikki.blogspot.jp/2017/04/windowsdocker.html を参考に作ってみました。

こっちも環境構築は問題です。 RealVNCから接続する際に上手くプロキシが抜けれないです。


もし、ご存知でしたら教えて下さい。

新規PCの導入:備忘録

ようやく時間ができて、新規PCのセットアップが終わりました。 最近色々な事情でPCが壊れるので慣れてきました。

備忘録的にソフトウェア関係を列挙しておきます。

まずは

firefoxDropboxを入れて、firefox syncでブックマーク、パスワード、アドオン、dropboxでデータはすべて移行します。 これで、基本的には大体のことはできます。

私の基本ソフト

VUPでおかしくなった。 https://qiita.com/totto357/items/5d86ee80a654dd9ec95f

https://cutlassfish.wordpress.com/2014/08/12/mingw-w64-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AB%E3%81%AA%E3%82%8B%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A8%E4%BE%8B/ を参考にx86_64-win32-sehしました。

python

相変わらず面倒くさいのでまとめておきます。

基本はanacondaで

  • "add anaconda to the system PATH environment variable"が非推奨になってる。
  • conda update condaで、4.5.1にするとcondaが壊れる。

環境の移行

  • https://qiita.com/nshinya/items/cb1cffabc3305c907bc5 を参考にやってみようかと思いましたが、駄目でした。
  • 2の方法だと上手くいかない。windowsの問題?
  • 1は絶対駄目、リポジトリのurlを記録しているだけなので、少しで環境(各ライブラリのver.も)が違うとぐちゃぐちゃになります。私の場合、scipyが動かなくなりました。
  • で、たまには環境のリフレッシュも必要なので、一から作りました。

jupyter notebookの設定

これが面倒。


全然足りないですが、とりあえずすぐに使うものはこんな感じですかね。

無反射境界条件

久しぶりに計算にドはまりしました.

例の変分法ですが,厳しい条件のときにどうも感度係数が評価できていないような感じがあり,詳細にチェックしてみた所,ミスをみつけてしまいました.

詳細は省きますが,空間方向の境界で反射していました.0勾配にしていたのですが,ラグランジュ変数が勾配を持つので,全然駄目で数日間悩んで解決せず.

途方に暮れていたときにgoogleが教えてくれたのが,無反射境界条件です.

ふと,openfoamの境界条件を調べてみると, http://www.geocities.jp/penguinitis2002/study/OpenFOAM/noreflect/noreflect.html 無反射境界条件をみつけて,関連する論文を探すと以下を見つけました.

https://www.jstage.jst.go.jp/article/jsces/2003/0/2003_0_20030017/_pdf

http://www.nagare.or.jp/download/noauth.html?d=24-1-g02.pdf&dir=8

後者の理想的なもので,境界条件は特性曲線をしっかり考えないと駄目だということがわかります.特に,周期境界が適用できない非定常乱流では重要です. ここまでやるのは大変なので,前者のゾンマーフェルトの放射条件を入れるだけでほぼ安定するようになります. 河川流だとラフでも問題ないので意識してませんでしたが,勉強になります.

別件ですが,以前デカルト座標系で計算をしたときに下流端の境界条件に苦しみましたが,無反射境界条件を適用すれば,いけそうな気がしてます.

このような新しい数値流体力学の考え方がまとまった本があると良いのですが知りませんか?

これには全然書いてません.

コンピュータによる流体力学

コンピュータによる流体力学

windows intel fortran 環境でのcmakeによるスタックサイズの設定

プライベートも仕事も忙しくてなかなか書けてません.

忘備録的に.

コマンドラインで打つときは,

ifort *** /fast /F10000000

的な感じですが,cmakeで

set (CMAKE_Fortran_FLAGS_RELEASE "/fast /F10000000")

だと駄目です.

正しくは

set (CMAKE_Fortran_FLAGS_RELEASE "/fast")
set (CMAKE_EXE_LINKER_FLAGS "/STACK:10000000" )

です.

地味に結構悩みました.

スタックサイズのチェック方法も忘れないようにリンクを張っておきます.

http://uzulla.hateblo.jp/entry/2013/08/14/230551

はてブロってcmakeもシンタックスハイライトがつくみたいです.

はてブロでjavascript

jsを埋め込み

普通に書けるみたいです.びっくりしました.

遊びで,leafletに地理院地図を取り込みD3.jsでsvgを書いて重ねてみました. 以下が参考サイトです.

http://bl.ocks.org/d3noob/9267535

https://shimz.me/blog/d3-js/3517

htmlからとのタグだけを削除すればOKです. ソースを見て頂けるとわかります.

感想

  • d3が使えるのは大きいです.計算結果とかにも使えそうです.
  • 地図系だとleaflet,openlayers,cesiumあたりが有名ですが,このあたりは慣れないと使えないですね.独特過ぎます.
  • 今はソースにsvgjsonを書いてますが,これを外部ファイルにすれば,サーバで計算を回して,レンダリングするみたいなことができそうです.ただ,膨大なデータだと処理が必要になってくるので,Node.jsとか使う必要がありそうです.
  • 最終的には,こんなのが作りたいですね.

Upwind Flux Scheme:不連続面の修正2

前回上げたものが若干間違っていたので、修正しました。

せっかくシンプルなスキームなのにどうしても複雑になってしまいます。

河床高と水位の関係より不連続面の判定をしていますが、dxが大きくなった場合、この判定が上手く使えるか微妙なところです。

概ね安定しますが、ほんの僅かに質量保存が崩れてます。

不連続面は厄介ですね。みんなどうやってるのでしょうか。


処理なしの場合

f:id:SedimentHydraulics:20171030181522g:plain

処理を追加した場合

f:id:SedimentHydraulics:20171030181633g:plain

gist9a00b27130017211382ec8514ae2d340