来週の勉強会の教材(ランチャーとWinkチュートリアル)を製作完了です。~
DEXCS2009 OpenFOAM simpleFoam launcher
ということで、OpenFOAM-1.5 の、simpleFoamという定常非圧縮性乱流解析ソルバーを、
コマンド入力を一切不要にして使用できるようにしたシステムです。
はじまり、はじまり。。。
–
形状作成・・・モデルの確認をします
–
メッシュ(1)基礎メッシュと境界面の作成
–
メッシュ(2)snappyhexMesh はボタン1発。
–
-待つこと約4分で出来上がり。
–
境界条件と初期条件
–
まだGUIメニューは使えませんが、境界面の名前は自動取得できています
物性値
–
これもまだGUIメニューは使えませんが、デフォルトは空気の物性値とkEpsilonの乱流モデルを使う設定になっています
ソルバ・・・いよいよ計算の実行です
–
まずはポテンシャル流れ場を作ります
–
本番計算(simpleFoam)進行中。。。
–
最後に可視化です
–
あとがき
-GUIメニューの未実装部はおいといても、もう少し手を加えたい部分もいくつかありますが、そろそろタイムリミット。。。ということで、ここで一旦フィックスすることにしました。
-ここまで作ってあれば、少なくとも自身の用途(simpleFoamを使って何か新しい計算を頼まれた時に、ちゃちゃっと片付けて、デモンストレーションする)には使えると思っています。
-もう少し手を加えたい部分として、エラー処理とか、計算や変換の実行前後の確認ダイヤログを充実させるとかがあります。
-GUIメニューは前の記事で記したwxGladeを使っていますが、このツールに使い慣れてしまえば、今回のメニュー画面をもう一度ゼロから作り直すとしても仕様さえ決まっていれば1時間もあれば出来てしまいそうです。
-ランチャープログラムの製作には、python初心者なので、正味で1日ほどかかってしまいました。総行数も1000行を超えましたが、既存のモジュールを小改変したのを何箇所かにコピペして、一部分を書き換えているだけです。
-このコピペを何度もやっているうちに思ったのは、書き換える部分をパラメタ渡しできるモジュールを作ってやれば、もっと全体にスリムですっきりしたプログラムに出来るなぁ。。。ということで、残された課題(マイナーな小改良やGUIメニューの製作)の前に、こちらを片付けたいと思っています。
-このデモでは、予め用意しておいたモデルを使ってそのまま計算する。。。ですが、そうでない色んな用途にどうやって対応するのか、、、そこをまとめておかなくちゃなりません。
–形状モデルを変更(新規あるいは改変)したい
–複数形状を取り扱いたい
–1つの形状だが、場所によって境界種別を変更したい
–解析領域を変更したい
–内部流れの問題を計算したい~
あくまでsimpleFoamを使った単一物性の流れ場問題という前提ですが、こういった用途に対して、コマンド入力は不要、パラメタファイルは手修正が必要です(将来的にはGUIメニューで変更可能)が、どのパラメタファイルを修正すべきかをボタンの並びで順番にやっていくだけで計算できるようになります。