ダウンロードはこちらから
DEXCSランチャーとは
OpenFOAMを使った仮想風洞試験を、ボタンを順番に押していくだけで、誰でも簡単に実行できるようにすべく、pythonで作成したGUIツールで、DEXCS2019からは、FreeCADのマクロとして実装するようになった。
DEXCSランチャーはこれまで、DEXCS for OpenFOAMというisoイメージ中に同梱される形でしか配付していなかった。これはpythonのソースコードを配付したとしても、DEXCS以外の環境で使用する為には、様々なカスタマイズが必要になって、一般ユーザーが独自でカスタマイズできるようにするには、相当な困難があった為である。
DEXCS2019からはランチャーをFreeCADマクロとして実装した事を契機として、DEXCS2020ではこれらのマクロを、同梱したDEXCS以外の環境でも使えるようにすることを目指して取組中であるが、このたびプロトタイプ版としてDEXCS2019に搭載したマクロをベースに、DEXCS21019とそれ以外のDEXCS(DECS2015以降、DEXCS2018はFreeCADの更新も必要)でも使えるランチャーが出来たので、ここに公開することにした。
また、DEXCSで構築したシステムでなくとも、TreeFoamが動く環境であれば、若干のファイル追加で動作するはずなので、その要件と追加方法についても記しておく。この部分も、DEXCS2020以降では、configDexcsの設定だけで対応可能にしていく予定である。
更新方法
同梱のconfigDexcsというファイルが、以下のようになっている。
# cfMesh がインストールされたOpenFOAM環境
#for DEXCS-2019
cfMesh /opt/OpenFOAM/OpenFOAM-v1906
# for DEXCS-2018 ( not available)
# cfMesh /opt/OpenFOAM/OpenFOAM-v1806
# for DEXCS-2017
# cfMesh /opt/OpenFOAM/OpenFOAM-4.x
# for DEXCS-2016
# cfMesh /opt/OpenFOAM/OpenFOAM-4.x
# for DEXCS-2015
# cfMesh /opt/OpenFOAM/OpenFOAM-2.4.x
# for DEXCS-2014
# cfMesh /opt/OpenFOAM/OpenFOAM-2.3.x
#configTreeFoam のインストール場所
TreeFoam ~/.TreeFoamUser
#dexcs のインストール場所
# for DEXCS-2017 〜
dexcs /opt/DEXCS
# for 〜 DEXCS-2016
# dexcs ~/Desktop/DEXCS
DEXCS2019で更新する場合はこのままで良いが、それ以外のDEXCSでマクロを使いたい場合には、chMeshがインストールされたOpenFOAM環境と、dexcsのインストール場所を該当のものに変更する(行頭に#の有る行は有効にならないので、有効にしたい行だけ#を外す)。
同梱の updateDexcsLauncher.sh を端末上で実行する。その際、既存のuser.cfgを上書きするかどうかの質問があるので、
$ ./updateDexcsLauncher.sh
DEXCS Launcher update
Overwrite your FreeCAD SettingFile(user.cfg)? (Y/N)
上書きして良ければ「Y」を入力してアップデートは完了。
上書きの可否は、インストール先のFreeCADの利用環境で自身でカスタマイズしたマクロやツールバーの有無次第で判断されたい。上書きしてしまうと、それらの情報が無くなってしまうということである。「N」を入力した場合には、マクロファイルがアップデートされるだけなので、ツールボタンを自身で作り直す作業が必要になる。
なお、上書きした場合でも、元の user.cfg ファイルは、user.cfr.<user>.orig という名前で残すようにしてあるので復元は可能。またテキストファイルなので、内容を理解した上での新旧ファイル間での組み合わせ改変は可能です。
注意事項
- DEXCS2015では、xfce4-terminal の追加インストールが必要になります。
$ sudo apt install xfce4-terminal
- DEXCS2018ではFreeCADのAppImage版がインストールされている為動作不可、FreeCADをパッケージ版、もしくはビルド版に変更する必要があります。DEXCS上で上記FreeCADをインストールするには、この記事を参照下さい。
user.cfgを上書きしないで、作り直す方法
DEXCS2017へインストールした例で説明する。FreeCADを起動して、「ツール」メニューから「カスタマイズ」を選択すると以下の画面になる。
ここでマクロ欄右端の▼(上図赤印)をクリックすると、マクロ一覧が現れるので、登録したいマクロを選択し、メニューテキストなど空欄に説明事項を印しておく。ピクセルマップの「…」ボタンを押すと、以下の画面が現れてアイコンを選択できるようになる。何を選んでも良いが、
その際に、「アイコンフォルダー…」のボタンを押して、
「+」ボタンを押して、TreeFoamのアイコンフォルダ(/opt/TreeFoam/icons)を追加しておく。そうすると、TreeFoamのアイコンを登録できるようになる。
空欄を埋めて、アイコンが決まったら、「追加」ボタンを押してひとつのマクロの登録が完了である。
登録が必要なマクロは以下の通りである。
マクロファイル名 | メニューテキスト | ツールチップ等 | アイコン |
runTreefoam.py | treefoam | treefoam を起動します | |
runGridEditor.py | gridEditor | gridEditorの起動 | |
runParaview.py | runParaview | paraFoamの起動 | |
runClearCase.py | runClearCase | 計算結果を削除して、caseを初期化します | |
runJgp.py | runJGPlot | jgpファイルの適合 | |
checkCaseFileName.py | checkCase | 解析ケースファイルの確認 | |
runCheckMesh.py | checkMesh | checkMeshを実行する | |
solverSet.py | solverSet | 新規にcaseを作成、又はsolverやmeshを入れ替え | |
editConstantFolder.py | editConstantFolder | Propertiesの編集 | |
editSystemFolder.py | editSystemFolder | Dict(system)の編集 | |
runSolver.py | runSolver | solverを起動 | |
runPlotWatcher.py | runPlotWatcher | plotWatcherの起動 | |
runParallel.py | runParallel | 並列処理 |
登録が終わったら、次にツールバーへの登録である。上記カスタマイズ画面において、「ツールバー」のタグ画面にて、左欄で「マクロ」、右欄で「全体」選択し、DEXCSツールバーを展開すると、下図の状態になる。
ここで、登録したマクロを左欄で選択し、中央の右矢印ボタンを押せば、右欄に追加されるので、新たに登録したもののうち、必要なものを右欄に移し、順序も好みで入れ替えて使ってもらえば良い。
DEXCS以外のプラットフォームで動作させる為の要件
- cfMesh(cartesianMesh)がインストールされており、configDecs中に、これを起動する為の(ビルドした)OpenFOAMの環境情報が記してある事。
- TreeFoamがインストールされており(+dexcsSwak版でなくとも可)、configDecs中に configTreeFoam のインストール場所が記されている事。但し、ヴァージョン2系のみ。ヴァージョン3系では一部のマクロが動作しない(ので現在製作中)。
- FreeCADのVerは0.16以上で、AppImage版でない事
- configDecs中にdexcs指定フォルダを定義しておき、指定したフォルダ下にSWAKというフォルダとtemplateというフォルダを作成。SWAKフォルダ下にpyDexcsSwak.py という空ファイルを作成。templateフォルダ下には、dexcsという名前でOpenFOAMのケースフォルダを収納しておく。ケースフォルダの中身は、ケースファイルとして有効な内容であれば何でも良いが、FreeCADモデルがOpenFOAMのケースフォルダでない場所でメッシュ作成する際の雛形フォルダとして使われることになる。