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

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

OpenFOAM-2.0.0でDEM解析を試す:基本例題の検討(1)

2011年07月16日 07時16分48秒 | DEXCS情報
それでは、DEM解析の検討を進めます。用いる環境は、DEXCS2010-OpenFOAM (64) に、最新の OpenFOAM-2.0.0 をバイナリインストールした環境でおこないます。準備方法は、このブログの記事を参考にしてください。

ここでは、下記の PENGUINITIS さんのウエブに公開されているデータを用いて、DEM解析の詳細を勉強します。
http://www.geocities.jp/penguinitis2002/study/OpenFOAM/dem/dem.html
(PENGUINITISさん:情報公開ありがとうございます)

■ 入力データの入手
上記のサイトから、ファイル square.tar.gz をダウンロードして、~/OpenFOAM の中に Work ディレクトリを作って、この中で展開しておきます。
$ tar zxvf square.tar.gz

■ 入力データの構成
展開すると square ディレクトリが出来て、それは以下の構成です。ディレクトリには末尾に / がついています。

square/
  0/:初期条件
    U:初期条件、速度
  constant/
    RASProperties:レイノルズ数の変化の設定
    kinematicCloudProperties:衝突の設定
    turbulenceProperties:流体特性(モデル{層流、乱流など})
    g:重力加速度[m/s²]
    polyMesh/
     blockMeshDict:blockMeshを行うための記述がされている
    kinematicCloudPositions:玉の初期配置の設定
    transportProperties:流体特性(動粘性係数、密度など)
  dem.pvsm
  system/
    controlDict:計算時間の制御、解のデータの読み書きに関する入力
    fvSchemes:スキームの設定
      didSchemes:一次の時間微分項の離散化スキームの設定
      gradSchemes:勾配の離散化スキーム
      divShemes:発散離散化スキーム
      laplacianSchemes:ラプラシアン離散化スキーム
      interpolationSchemes:補間スキーム
    fvSolution:偏微分方程式を離散化してできる代数方程式を解くための設定

■ 計算手順1:blockMesh
まずメッシュを作成するため、square ディレクトリの中で、blockMesh コマンドを実行します。すぐに終わります。
$ blockMesh
こうすると、新しく以下のファイルが生成されます。

square/
  constant/
    polyMesh/
      boundary:パッチのリスト
      faces:面のリスト
      neighbour:隣接セルのリスト
      owner:保有セルのリスト
         (ヘッダーにポイント数、セル数、総面積、内部面積が記載)
      points:セルの頂点(ポイント)のリスト

■ 計算手順2:icoUncoupledKinematicParcelFoam
次に DEM解析を実行します。square ディレクトリの中で、icoUncoupledKinematicParcelFoam コマンドを実行します。しばらく計算が進みます。
$ icoUncoupledKinematicParcelFoam

■ 計算結果
この計算結果として、square ディレクトリの中に、各解析ステップ毎の結果が出力されます。生成されたディレクトリは以下の通りです。

square/
  0/
  0.002/
  0.004/
  ……
  0.498/
  0.5/

■可視化
可視化のためのVTKデータを作るために、以下のコマンドを実行します。
$foamToVTK
これで、VTKデータが作られるので、結果を見るためにParaViewを起動します。DEXCS2010では、「アプリケーション」→「DEXCS」→「paraview」で起動できます。

メニューの「File」→「Open」で、OpenFOAM-square-VTK-lagrangian-kinematicCloudにある kinematicCloud_..vtk を選択してOKで開きます。
同様にして、OpenFOAM-square-VTKにあるsquare_.vtkを開きます。

ここまできたらParaViewの設定を行います。表示形式:Glyph Glyph Type:Sphere Scale Mode:scalar SetScaleFactor:0.02 Scalers:d Vectors:U Radius:0.52 Theta Resolution:20 Phi Resolution:20にしたら、きれいな表示にすることができました。もし、可視化した玉が大きすぎたり、小さすぎたりする場合は、SetScaleFactorによって調整することができます。


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。