5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LiggghtsとOpenfoanのカップリング チュートリアルの実行

Last updated at Posted at 2023-07-21

無題の動画 - Made with Clipchamp.gif
前回、LiggghtsとCFDEMのカップリングに向けた環境構築を紹介しました。
今回は構築した環境でチュートリアルを実行していこうと思います。

チュートリアルの場所

保存先はインストールしたディレクトリにもよりますが、/optにインストールしているのであれば以下の場所にあります。

cd /opt/CFDEM/CFDEMcoupling-PUBLIC-5.x/tutorials

チュートリアルは主にソルバーごとにフォルダー分けされています。

  • cfdemPostproc
    CFDEMのポスト処理用のチュートリアル
  • cdfdemSolverIB
     境界埋め込み法を使用したソルバーのチュートリアル
  • cfdemSolverPiso
     pisoFoamを使用したソルバーのチュートリアル
  • cfdemSolverPisoScalar
     DEMの熱輸送も同時に解くソルバーのチュートリアル
  • cfdemSolverPisoSTM
  • DEMの熱以外のスカラ輸送も同時に解くソルバーのチュートリアル
  • ParScale
     多孔質DEMを用いて熱や物質移動などの粒子内輸送現象を解くソルバーのチュートリアル

cdfdemSolverIBcdfdemSolverPiso の使い分けですが、
cfdemSolverIB → DEM粒子が流体メッシュよりも大きい場合
cdfdemSolverPiso → DEM粒子が流体メッシュよりも小さい場合

といった使い方を想定している用です。
CFDとDEMの連成をする場合、手法上、DEM粒子とメッシュサイズには注意する必要があり、
DEM粒子が流体メッシュよりも大きい場合の計算に対応していない商用ソルバーもあります。
そのため、流体のメッシュを荒くしないと計算できない事もあるのですが...
cdfdemSolverIB は興味深いですね... 追々調査していこうと思います。

今回ですが、基本となる cfdemSolverPiso のチュートリアルを実施してみたいと思います。

cfdemSolverPiso

チュートリアルを実施するにあたり以下が必要になります。

  • Paraview(可視化用)
  • octave(データ処理/グラフ画像出力)
  • eog(画像の表示)

octaveとeogがインストールされていない場合は以下のコマンドをインストールできます。(Ubuntu)

sudo apt-get octave
sudo apt-get eog

cfdemSolverPisoのフォルダーを確認すると以下のチュートリアルが格納されていますが、
今回はErgunTestMPIを実行してみます。

  • ErgunTestMPI
  • ErgunTestMPI_cgs
  • ErgunTestMPI_restart
  • periodicChannel
  • settlingTestMPI
  • voidfractionTest

ErgunTestMPIを開くと以下のような構成になっています。

  • CFD/ (CFDデータフォルダ)
  • DEM/ (DEMデータフォルダ)
  • Allrun.sh (実行用スクリプトファイル)
  • parCFDDEMrun.sh (CFDソルバーの実行ファイル)
  • parDEMrun.sh (DEMソルバーの実行ファイル)

Allrun.shを実行すればCFDとDEMの連成解析がスタートします。
今回はそれぞれのソルバー実行ファイルで、以下修正をしたうえで計算を実行してみたいと思います。

parCFDDEMrun.sh
#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath=$casePath
headerText="run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM"
logfileName="log_$headerText"
solverName="cfdemSolverPiso"
nrProcs="4"
machineFileName="none"   # yourMachinefileName | none
debugMode="off"          # on | off| strict | profile
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
runOctave="true"
postproc="true"
#--------------------------------------------------------------------------------#

nrProcs=使用コア数になるので、環境に合わせて修正します。
postproc = "true" デフォルトは"false"ですが、計算後履歴データがすべて消去されてしますので"true"にします。

parDEMrun.sh
#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath=$casePath
headerText="run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM"
logfileName="log_$headerText"
solverName="cfdemSolverPiso"
nrProcs="4"
machineFileName="none"   # yourMachinefileName | none
debugMode="off"          # on | off| strict | profile
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
runOctave="true"
postproc="false"
#--------------------------------------------------------------------------------#

nrProcs=使用コア数になるので、環境に合わせて修正します。
これで準備は整ったので、以下コマンドで実行します。

./Allrun.sh

ポスト処理

計算が終了するとoctaveとeog使用してグラフが表示されます。
cfdemSolverPiso_ErgunTestMPI.png

その後、pythoコンソールで待機状態になっていれば計算終了です。
ポスト処理用の空ファイルを作成し。Paraviewを起動します。

sudo touch tutorial.foam
paraview

paraviewが起動したら、作成したからファイルを読み込みます。
CFDとDEMの結果が読み込まれます。Lagurangian/particle cloudをDEM粒子の可視化に使用します。
WS000007.JPG
Glyphを追加し、以下設定でDEM粒子を可視化できます。

  • Glyph Typr >> Sphere
  • Scale Array >> r (Node Value)
  • Scale Factor >> 1
  • Glyph Mode >> All Point
  • Coloring >> r ()Node Value
    WS000008.JPG

結果の動画は以下のようになります。
無題の動画 - Made with Clipchamp.gif

終わりに

今回はcfdemSolverPiso実行~結果可視化までを実施しました。
実行ファイルについての解説も記事として投稿しようと思います。

5
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?