DALAB情報発信用ブログ:OpenCAE+GPGPU+Peridynamics編

DALABで行っている研究活動の中で、OpenCAEやGPGPUや破壊解析の取り組みについてまとめてゆきます。

OpenFOAM-2.0.0でDEM解析を試す:同梱チュートリアル

2011年06月29日 13時28分50秒 | DEXCS情報
今回 OpenFOAM-2.0.0 に取り組む目的は、DEM:個別要素法を試したかったからなのですが、チュートリアルをやってみましたので報告します。これはバイナリインストールで構築された OpenFOAM の環境で、提供されたチュートリアルをそのまま実行しています。

なお以下の手順は、下記の PENGUINITIS さんのウエブを参考にしました。
http://www.geocities.jp/penguinitis2002/study/OpenFOAM/dem/dem.html

まずユーザーのチュートリアルのディレクトリに移動します。ここでは、dexcs ユーザーなので、/opt/OpenFOAM/dexcs-2.0.0/run/tutorials になります。まず、$FOAM_RUN に移動します。
$ cd $FOAM_RUN
さらに、tutorials に移動してから、チュートリアルの lagrangian / icoUncoupledKinematicParcelFoam / hopper へ移動します。

ここで、チュートリアルを実行します。以下のコマンドを実行します。これで終わりなのですが、実は非常に計算時間が長いです。Opteron 2214 x2 の4コアを使う4並列計算になるのですが、5秒の現象を解析するのに6時間ぐらいかかりました。
$ ./Allrun

とにかく計算が終わったら…実は5秒では、容器の粒子が半分しか流れ出ないので、調子に乗って10秒計算してみたら、12時間ぐらいかかりました。ふー!

可視化のための VTK データを作るために、容器が空になるシミュレーションを見るために、ディレクトリを に移動してから、以下のコマンドを実行します。
$ cd hopperEmptying
$ foamToVTK

これで VTK ディレクトリができて、ここに可視化用データが作られます。それでは、結果を見るために ParaView を起動します。DEXCS2010 では、「アプリケーション」→「DEXCS」→「paraview」で起動できます。

メニューの「File」→「Open」で、OpenFOAM - dexcs-2.0.0 - run - tutorials - lagrangian - icoUncoupledKinematicParcelFoam - hopper - hopperEmptying - VTK - lagrangian - kinematicCloud にある kinematicCloud_..vtk を選択して OK で開きます。

ここからの ParaView の設定は試行錯誤が必要なので、ヒントだけまとめて起きます。
表示形式:Glyph 表示内容:d Glyph Type:Sphere Scale Mode:scaler Radius:0.1
などの設定で Apply して、アニメーションを再生してください。どうですか?結構それらしく見えると思います。

しかしこれでも全部は流れないので、15秒計算に挑戦します。(乞うご期待)
ちなみに計算時間を延長するには、/home/dexcs/OpenFOAM/dexcs-2.0.0/run/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/system にある、controlDict ファイルを開いて、endTime を15秒にします。

相当に時間がかかりましたが、全部の粒子が流れましたので、成功です。次に、この結果をアニメーションの動画にします。ParaView の Save Animation を用いて、JPEG 画像として各ステップの状態を出力しておきます。

あとは、Windows などにファイルを移動して、この連続した JPEG 画像を連結して動画に変換して完成です。

これが、こうなるわけです。