前回、LiggghtsとCFDEMのカップリングに向けた環境構築を紹介しました。
今回は構築した環境でチュートリアルを実行していこうと思います。
チュートリアルの場所
保存先はインストールしたディレクトリにもよりますが、/optにインストールしているのであれば以下の場所にあります。
cd /opt/CFDEM/CFDEMcoupling-PUBLIC-5.x/tutorials
チュートリアルは主にソルバーごとにフォルダー分けされています。
-
cfdemPostproc
CFDEMのポスト処理用のチュートリアル -
cdfdemSolverIB
境界埋め込み法を使用したソルバーのチュートリアル -
cfdemSolverPiso
pisoFoamを使用したソルバーのチュートリアル -
cfdemSolverPisoScalar
DEMの熱輸送も同時に解くソルバーのチュートリアル - cfdemSolverPisoSTM
- DEMの熱以外のスカラ輸送も同時に解くソルバーのチュートリアル
-
ParScale
多孔質DEMを用いて熱や物質移動などの粒子内輸送現象を解くソルバーのチュートリアル
cdfdemSolverIB と cdfdemSolverPiso の使い分けですが、
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の連成解析がスタートします。
今回はそれぞれのソルバー実行ファイルで、以下修正をしたうえで計算を実行してみたいと思います。
#--------------------------------------------------------------------------------#
#- 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"にします。
#--------------------------------------------------------------------------------#
#- 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使用してグラフが表示されます。
その後、pythoコンソールで待機状態になっていれば計算終了です。
ポスト処理用の空ファイルを作成し。Paraviewを起動します。
sudo touch tutorial.foam
paraview
paraviewが起動したら、作成したからファイルを読み込みます。
CFDとDEMの結果が読み込まれます。Lagurangian/particle cloudをDEM粒子の可視化に使用します。
Glyphを追加し、以下設定でDEM粒子を可視化できます。
- Glyph Typr >> Sphere
- Scale Array >> r (Node Value)
- Scale Factor >> 1
- Glyph Mode >> All Point
- Coloring >> r ()Node Value
終わりに
今回はcfdemSolverPiso実行~結果可視化までを実施しました。
実行ファイルについての解説も記事として投稿しようと思います。