背景
Windows10環境のElmerGUIは境界面を選択しようとダブルクリックするとGUIが落ちる
綺麗に落ちるのでむしろアプリの終了に使えるくらいだ。
公式のバグフォーラムでも知られている現象
http://www.elmerfem.org/forum/viewtopic.php?t=5460
対象のバージョンは8.3の最新(2019/2/7時点)
フォーラム内の「mshに変換してからgmeshで境界面の番号を確認して。番号はElmerGUIと一緒だよ」という回答に心を折られた。
クラッシュを回避する方法はないのか、また出来ないとしたらどのような環境で発生するのかを調べたのでメモする。
自分がC++のヒーローになれないのが残念。。。
結論
Windows10かつ特定のIntel Graphics driver環境で発生していると思われる。
回避策は上記のグラフィックドライバを使わないこと。
具体的には
グラボを積んでいるのならそこから起動する
アプリのアイコン右クリックから選択できると思う仮想化環境などでLinux上から起動する(ドライバは要確認)
VMwareの場合、特に何もしなくてもいいはず
VirtualBoxはなぜかLinuxのインストールで躓いたので未検証Microsoft Basic Display Adapterを使用する
Intelのグラフィックドライバを削除すると上記のドライバとなる
輝度の調整が出来ずモニタが煌々と光るので目をやられるIntel Graphics Driverを無効にする
デバイスマネージャからIntel Graphics Driverを無効にしてElmerGUIを起動する
これは割と現実的な方法かも
駄目だった方法
- 互換モード(Windows7など)で起動する
- Intel Graphics Controlから設定を変更する
- BIOS, OS, Intel Graphics Driverをアップデートする
- Windows Subsystem for LinuxからXmingなどを使ってLinuxのElmerGUIを起動する
- その他色々あがく
動作環境の確認
上記の表から分かる通り、Windows10 + Intel(R) Graphics driver環境でNGが起きている。
所感
上記の通りElmerGUIを使うときは境界面の選択に気を付けてほしい。
ソースコードが公開されているというのに、コードを読めないため残念ながら上記のような実験的(帰納法的)なアプローチを取らざるを得なかった。
そのため無駄なトライ&エラーがたくさん発生し手数を増やすことが課題となってしまった。
もちろんコードを読めても解決も問題特定もできないかも知れないが今後は少しでもコードを読む努力をしたい。
しかし、副産物としてElmerGUIにk-εモデルやk-ω SSTモデルを入れる方法を知ったので今後更新していく。
さて、バグフォーラムに投稿した方が良いのかもしれないがこの程度もう調べられているかもしれないし、アカウント作成しないといけないし、英語は苦手だし…
なのでとりあえずまた今度考えよう。