趣味で計算流砂水理

Computational Sediment Hydraulics for Fun

Re:基本的な計算機の作り方について

OSについて

CentOSで問題はないと思いますが、Ubuntuでもできるようです。 MPIについては詳しくないので、御社でここらへんを知っている方が使っている環境に合わせれば、 いろいろ聞けると思いますので、それも手かなと。

なお、IntelCompilerについてはCentOSでしか、 使ったことがありません・・・。

MPIではありませんが、弊社だとCentOSです。

C++

11とか14とかはわかりませんが、 前職ではロベールの評判がよかったです。 私自身は読んでませんが。

ロベールのC++入門講座 | ロベール |本 | 通販 | Amazon

オブジェクト指向については、 かなり理解されていると思うので、 ポインタまわりだけでよろしいかと思うのですが。

最近は、

www.amazon.co.jp

です。厚いので大変です。

基本的な計算機の作り方について

linux環境も揃えてるとは… コンパイラは何を使ってますか。gccですか。

基本的なことを教えていただきたいのですが、新規でPCを購入して計算機を作ろうと考えています。

環境はこんな感じをイメージしております。

言語:FortranC++ CPU:Xeon phi 目的:高速化とメモリに乗り切らない場合のためのMPI環境の構築

Cent OS 7.0 + intel compilerが基本だと思っているのですが、これが本当に最良でしょうか?

あと、c++入門の本は何がおすすめでしょうか。

OpenFoam

C++

この前、C++の話をしていたので、OpenFoamでも使ってみようかなと思います。

Tutorialでダムブレークがあったので回して見ました。

f:id:SedimentHydraulics:20170610214456p:plain

Linuxで使うのでインストールがちょっとめんどくさいですが、 それなりに使えるんですね。

自分たちが開発したものと、OpenFoamでの結果と比較できると説得力が増すかなと思います。

渦度方程式

水工学における計算機利用の講習会の山坂先生の「渦度方程式を用いたワンド内流れの二次元計算」でした。 急に思い出しました。

RE3:pygridgen-c

pygridgen-cのwindows

何とかコンパイルまでは行ったのですが、pythonから呼んだときにエラーが出ます。試しに32bit環境で動かすと何故か上手く行きます。

いろいろ調べているとctypesに32bitと64bitで差がありそうです。元のプログラムがpython側でしっかりと型宣言していないため、このあたりを丁寧に修正する必要がありそうです。 ただ、c++をよく分かってないので、ちょっと困ってます。ダブルポインタとかあるし。

その他

  • モダンなc++が書きたい気分です。
  • 久しぶりに直交曲線の計算をやったら、デカルトで解けなったのがすんなり解けてびっくりです。やっぱり、実河川の問題では境界適合格子は必要かもしれないですね。

RE2:pygridgen-c

windows環境でインストールを試みましたが、どうも駄目です。というか、私がmsysを使いこなせてないです。

msys環境下で順番にconfigure - make installを行っていますが、 nearest neighbors、CSAをインストール後、gridutilsのconfigure時にそれらにリンクさせるときにうまくいかないです。nn,csaは、/usr/localにインストールされており、パスも通っていますが、confiureのときにリンクしません。

ただ、インストールできれば、windowsでも問題なく動くと思います。

また、時間をみてチャレンジします。

Re:pygridgen-c

インストー

下記のページでインストールしを試みました。

https://github.com/hetland/pygridgen/blob/master/doc/INSTALL_OSX.md

ドキュメント

教えてもらった「add_focus」で検索すると、下記のページがでてきました。

https://phobson.github.io/pygridgen/tutorial/basics.html?highlight=add_focus

中盤の所が参考になりそうです。

  • 「pos」はfocusさせる所の相対位置で0~1の間で取る値。
  • 「x」or「y」はx方向もしくはy方向の選択
  • 「factor」はscalling factorとのことですが、ちょっと理解しづらい・・・。
  • 「extent」はfocusさせる影響範囲のパラメータ

簡単なモデルで感度を見れば予想がつきそうですが、今の所、Macにインストールできてません。。。

いろんなバージョンが入ってるので、そこらへんの管理がザルになってて、おかしくなってます。 最近再インストールすべきか迷ってます。

ちょっと頑張ってみます。

Windowsへのインストー

Windowsでは入れられるんでしょうか?

会社PCのCygwinで試そうとしましたが、うまくいきませんでした。

何かご存知でしたら、ご教授下さい。