昨日の追記事の中で記したが、OpenFOAM-2.1.xのチュートリアルケースのうち、表題のケース(incompressible/pisoFoam/motorBike/motorBikeLES)がAlltestでは実行エラーになるものの、通常のAllrunでは実行可能であった。その計算がようやく終わったので、とりあえずアニメーションだけでも披露させていただくことにした。
但し、計算できたとはいうもの、Allrunを単にそのまま実行しただけ。0.7sec間を0.1sec毎に出力する計算なんだが、何しろ計算時間が長大になりそうであったので、せっかく途中まで計算したものを無駄にしたくなかったというところ。ちなみに総計算時間は、4コアをフル使用して約40時間!でした。メッシュサイズは以下の通り。
nPoints:3747803
nCells:3127537
計算が終わって、ログファイルを調べるといろんな事がわかりました。
Allrunスクリプトの概要
- まず、snappyHexでメッシュ作成して、simpleFoamの計算を実行。⇒motorBike
- 上記並列計算したケースファイルをコピー(cloneParallelCase)してLES計算用にケースファイルを作成⇒motorBikeLES
- simpleFoam計算結果を初期条件として、pisoFoamにてLES計算を実行
ここで、3.のsimpleFoamの計算結果をコピーする際、 time 500 が決め打ちになっている為、Alltestではコピーエラーが生じていた。
課題
- simpleFoam計算の前に、並列ケースにてrenumberMeshを実行しているが、これには失敗している。現時点の2.1.x固有の問題。少し前の時点(2012/3に入手したもの)では成功していた。
- snappyHexMeshにおいて、デフォルト(本結果の場合)は
addLayers false;
となっており、物体表面のレイヤーメッシュを作成してありませんでした。多分、そのせいだと思うのですが、Cd(抗力係数)は、simpleFoamで計算した場合の値(Cd=0.455)に比べて、かなり小さくなっています。
今後
- 並列ケースに対するrenumberMeshの効果は大きいという評判は聞いたことがあるので、部分時間の計算にて、旧ヴァージョンとの比較は実施する予定。
- レイヤーメッシュを付加した計算は、SGIのオープンCAE学会員向けクラスタサービスが使えるようになったら挑戦予定。