dynamicsoar's log

主に研究関係のメモ

programming

Fluent: VS Code で journal file の編集をする → Scheme の関連付けをする

journal file の拡張子をたとえば .jou などに統一しておいて、Scheme と関連付けすればよい。まずは Scheme の機能拡張を入れる(自分は適当に vscode-scheme を選んだ)。次に、settings.json に、 "files.associations": { "*.jou": "scheme" }, を追加す…

Fluent: journal file を複数に分割して include するには→ file/read-journal を使う

まえがき これ、できないと思いこんでたけど、よく見たら User's Guide に書いてあった。.set ファイルに頼らずに、なるべく journal file でやろうとすると、ファイルがどんどん長くなっていて、困っていたので、これができると非常に嬉しい。 方法 要は以…

UDF: cell thread に含まれる face thread にアクセスする

UDF において、ある cell thread tc(たとえば翼を含む空間)に含まれる face thread tf(たとえば翼表面)を求めるのに、次のようなことができた: begin_c_loop(c,tc); c_face_loop(c,tc,i) { if(C_FACE_THREAD(c,tc,i)==tf) { f=C_FACE(c,tc,i); f_node_l…

git completion (for bash) & prompt を入れる

git/contrib/completion at master · git/git · GitHub ここにある。やるべきことはスクリプト内に全部書いてあるが、一応自分用にメモ。 git-completion.bash と git-prompt.sh をそれぞれ .git-completion.bash と .git-prompt.sh の名前で ~/ に保存する…

mintty (Cygwin) + tmux で、Ctrl-Tab, Ctrl-Shift-Tab で cycle windows する

Stack Overflow のエントリとか、いろいろ探したけど、結局 mintty 公式の wiki に書いてあった…: Add Ctrl+Tab for tmux section to Wiki · Issue #757 · mintty/mintty · GitHub https://github.com/mintty/mintty/wiki/Tips#using-ctrltab-to-switch-ses…

ANSYS Fluent の UDF についての自分用メモ

NB! Dynamic meshing については別の記事に分けている: Dynamic meshing in Fluent - dynamicsoar's log UDFマニュアル*1は基本的に version 19.2 を参照しているが、たまに18.1も見ている(あまり変わらないと思うが…)。 定義の確認 macro 個別の関数のこ…

run Fluent, export .cas and .dat, and compress them after computation (on Linux)

I could not find the way to specify the auto-save .cas & .dat files in the format of .cas.gz & .dat.gz, and I gave up to compress them using the journal file. Instead, I decided to compress them in the script file after the computation, if…

Windows で VS Code の integrated terminal を cygwin64 の bash にする

概要 デフォルトでは Powershell になっている integrated terminal(エディタ下部にあるターミナル)を cygwin の bash に変えたい。ググると少し古い情報が色々ヒットするが、2018-09-01現在は既に公式に記載がある: code.visualstudio.com 概ねここにあ…

Windows で VS Code が要求する Git を入れようとして詰まった → 一度 Back すればいけた

VS Code は Github Desktop を無視する *1: VS Code only supports the official Git distribution for its Git integration. https://code.visualstudio.com/docs/editor/versioncontrol#_i-have-github-desktop-installed-on-my-computer-but-vs-code-ign…

シェルスクリプトで「カレントディレクトリ以下全てを検索してマッチするファイルを圧縮」「圧縮形式をgzipからxz(など)に変更」

まえがき 数値計算結果など、大量のファイルを自動的に逐次圧縮したい、ということが自分はよくある。しかもそれらが複数のディレクトリにまたがっていて、「エクスプローラから右クリック」なんていちいちやっていられない、自動化したい、ということもよく…

Caffe (with CUDA 8, cuDNN 5.1) を Windows 10 Pro 64bit で build して matcaffe のデモを走らせる(2017-11時点)

環境 Windows 10 Professional, 64 bit. Fall Creators Update 適用済み。GPU は GeForce GTX 1060. Matlab は現時点で最新の R2017b と、諸事情により必要なかなり古い R2014a の両方でデモコードの実行に成功した。なので、これらの間のバージョンならどれ…

Docker で jupyter notebook から Caffe を試した

前提 Caffe を試したくなったが環境構築に苦労したのでメモ。 ハード: MacBook Pro 13in retina (late 2013) OS: OS X El Capitan なので CPU モードしか試していない。 最初はふつうにビルドしようとしたのだが、依存関係が多すぎたり、python 2 なのか 3 …

How to compile and load Fluent UDF on Linux

Corrections to the UDF manual (version 18.1) Due to the following typographical errors, you cannot make the UDF. So you need to fix these: Page 341-341: the path “path/ansys_inc/v181/fluent/fluent18.1.0/src/” is inccorect. In reality, it s…

journal file を使った CUI での Fluent の実行について

前置き マニュアルとしては、ANSYS Fluent Text Command List というものがある。あるが、辞書のようにコマンドが羅列されているだけで、実際の書き方がわからない。ひどいことに、Fluent の他のマニュアルを見てもごくごく簡単な例(単なる solve/iterate 1…

atom のキーバインディングを Notepad++ (Npp) に近づける

前置き Win と Mac でデフォルト自体が結構違うのでその都度どっちかを示していく方向で。適宜追加予定。 基本的な方法 Settings > Keybindings にある your keymap file という文字列をクリックすると keymap.cson というファイルが出てくるのでこれを編集…

pandas で各要素の有効数字を揃える(「小数点以下何桁」ではなく)

Introduction df.round(n) だと「小数点以下n桁」で四捨五入される丸められるだけで、有効数字を揃えたい場合はちょっと違う、ということがあった。 たとえば df という DataFrame の中身として 12.345 9.8760 があったとき、df.round(2) すると、 12.34 9.8…

mac (w/ Python 3 & PyQt5) で ocXgag

Introduction 鳥人間な制御屋さんが公開してくれた ocXgag という翼型の調整ソフトがちょっと面白そうだった: 失速特性を考慮した翼型設計ocXgag その1 背景 - A Plane On The Sand 失速特性を考慮した翼型設計ocXgag その2 公開と使い方 - A Plane On The …

fortran でよく使うコンパイラオプションのメモ

自分用。あとで書き足す リンク Debugging tools in Fortran Wiki Invoking GNU Fortran (The GNU Fortran Compiler) gfortran 牛島先生本で紹介されていたのがキッカケで使い始めた g95 がわりと好きだったんだけど、だいぶ前から開発が止まってる(という…

Jupyter notebook (IPython notebook 4.x) で Notebook Extensions を使う(Anaconda利用)

まえがき Jupyter notebook で、各セル内のコードがだらーっと縦長になってしまった。 include のやりかたがよくわからんので(できるのかも含め)、とりあえず folding でごまかせないかな?と思ってググったところ、 Notebook Extensions というのを導入す…

pythonはじめました(今度こそ)

背景 どうもいつまでたっても python を覚える時間が取れない(取る気がない)なぁと思っていたが、ふと「そうだ、論文用の図を描くのに使ってみよう」と思い立った。グラフの作図、今まではずっと Excel → Powerpoint だった。一度だけ Excel → Adobe Illus…

Fortran で、form="unformatted", access="stream" で wirte されたファイルを read する

前置き natures flyers: Fortran でのバイナリ (unformatted, binary) の扱いについてのメモ では write しか考えてなかった。なぜなら FIELDVIEW という可視化ソフトで読み込むことだけ考えてたので。でも今ちょっと、書きだしたデータを読み込んで処理した…

Fortranで出力したデータを、call system() とシェルスクリプトを使ってその場ですぐに xz で圧縮し、元データは削除する

まえがき 前にも書いたかもだけど忘れそうなのでメモしとく。まず Fortran 側で FV_00001.xyz, ...(グリッド)とか FV_00001.func, ...(流れ場)とか FV_00001.q, ...(時刻)といったファイルを出力している。これらは流れの可視化用のデータで、そのまま…

コードの見直し(リファクタリング?)

機能追加に伴ってコードがゴチャゴチャしてきた。見づらいだけならいいが、さらなる機能追加が容易でなくなってきて、やばい。機能追加が容易なように改良する必要がある。「気象庁コーディングルール(ルビ:バイブル)」を再度見ている。 変数参照型モジュ…

restart方法の見直し

@yuuriiさんにだいぶ前に教わった方法に変更中。すなわち、計算は必ず load で始めて、計算開始か再開かの違いは load する file が「初期条件data」か「途中のdata」かの違いのみとする、ということ。擬似コード的に書くと、 if new game 変数をごちゃごち…

最近のNotepad++で、ホットキーから日付を挿入

NPP (Notepad++) のバージョンが上がっていつからか C-F5 (Ctrl-F5のこと) による insert date がなくなっていた。正直それが理由でずっとアップデートしてなかったほど。ところが TextFX というデフォルトで入っているプラグインの機能で insert date は実…

ゼロクリアしてなくて死んだ

「配列の上限下限をallocateでなく必要よりも多めにとったとき」は必ずゼロクリアする癖をつけたほうがいい。してなくて maxval が E+286 とかなってて死んでた。たいていはゼロが入ってるんだけどたまにこういう凄いのが入ってくる(メモリの状態に寄るらし…

maxval, maxloc, minval, minloc

前も書いたかもしれないがメモ<いろいろひどかったんで消す>参考: http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlf101a.doc%2Fxlflr%2Fmaxval.htm なんかここの表記も(サンプルが)怪しい → まとめ直しておい…

Notepad++ 5.8.7以上で置換後に置換ウィンドウからフォーカスが失われる件

https://sourceforge.net/projects/notepad-plus/forums/forum/331754/topic/4378154やっぱみんなもイライラするよね。ESCで置換ウィンドウを閉じれなくなったのですごくストレスフル。「バグを直すためだ」と言っている人もいる(実際、変な文字列しか書け…

NaNを検出してstop

NaN detect fortran でググるといろいろでてくる。http://www.nag-j.co.jp/fortran/FI_7.html#AUTOTOC_7 http://ftp.g95.org/G95Manual.jp.pdf http://ftp.aset.psu.edu/pub/ger/fortran/hdk/nan.f90g95, ifort では isnan という intrinsic function があっ…

makeのお勉強

タブでなくスペースで始めると怒られる。Notepad++の場合、「設定 > 環境設定 > 言語メニュー/タブ設定」の「タブ設定」から、makefile を選び、「Use default value」のチェックを外して、「タブの代わりにスペースを使用」のチェックも外せばいい。もちろ…