撹拌タンク
OpenFOAM 4.x
このチュートリアルは Ubuntu 14.04 LTS 版 OpenFOAM では実行できません。Ubuntu 16.04 LTS 版 OpenFOAM を使用するか、foamyHexMesh を独自にビルドする必要があります。
ケース
$FOAM_TUTORIALS/mesh/foamyHexMesh/mixerVessel
概要
foamyHexMesh を使用してメッシュを作成します。元形状はディレクトリ constant/triSurface 以下の形状ファイル(STL形式)で、メッシュ設定はファイル system/foamyHexMeshDict で設定されています。
モデル形状(全体)
モデル形状(内部のミキサーとステーター)
メッシュ作成後、液体タンクに気体を通過させながら撹拌した場合の流体計算を5秒間分だけ行います。
ミキサーの回転数はファイル constant/dynamicMeshDict で以下の様に指定します。
dynamicFvMesh solidBodyMotionFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
solidBodyMotionFvMeshCoeffs
{
cellZone rotating;
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega -5;
}
}
メッシュは以下の通りで、メッシュ数は2246260です。
メッシュ
メッシュ(内部のミキサーとステーター)
計算結果は以下の通りです。
流速(U)
気相の体積率(alpha-phase1)
最終時刻での流速(U)
最終時刻での気相の体積率(alpha-phase1)
最終時刻でのミキサー表面の圧力分布(p_rgh)
実行コマンド
cp -r $FOAM_TUTORIALS/mesh/foamyHexMesh/mixerVessel mixerVessel
cd mixerVessel
rm -rf 0
./constant/triSurface/surfaceProcess.sh
surfaceBooleanFeatures intersection constant/triSurface/vessel.stl constant/triSurface/spargerShaft.stl -perturb
surfaceBooleanFeatures intersection constant/triSurface/vessel.stl constant/triSurface/shaft.stl -perturb
surfaceBooleanFeatures intersection constant/triSurface/spargerShaft.stl constant/triSurface/spargerInlet.stl -perturb
surfaceBooleanFeatures intersection constant/triSurface/stirrer.stl constant/triSurface/shaftRotating.stl -perturb
surfaceBooleanFeatures intersection constant/triSurface/stirrer_baffles.stl constant/triSurface/stirrer.stl -surf1Baffle -perturb
surfaceBooleanFeatures intersection constant/triSurface/rotating.stl constant/triSurface/shaft.stl -surf1Baffle -perturb
surfaceBooleanFeatures intersection constant/triSurface/stirrer_baffles_1.obj constant/triSurface/stirrer_baffles_plate.obj -surf1Baffle -surf2Baffle
surfaceBooleanFeatures intersection constant/triSurface/stirrer_baffles_2.obj constant/triSurface/stirrer_baffles_plate.obj -surf1Baffle -surf2Baffle
surfaceBooleanFeatures intersection constant/triSurface/stirrer_baffles_3.obj constant/triSurface/stirrer_baffles_plate.obj -surf1Baffle -surf2Baffle
surfaceBooleanFeatures intersection constant/triSurface/stirrer_baffles_4.obj constant/triSurface/stirrer_baffles_plate.obj -surf1Baffle -surf2Baffle
surfaceBooleanFeatures intersection constant/triSurface/stirrer_baffles_5.obj constant/triSurface/stirrer_baffles_plate.obj -surf1Baffle -surf2Baffle
surfaceBooleanFeatures intersection constant/triSurface/stirrer_baffles_6.obj constant/triSurface/stirrer_baffles_plate.obj -surf1Baffle -surf2Baffle
# メッシュの作成
cp system/controlDict.mesh system/controlDict
blockMesh -region backgroundMeshDecomposition
decomposePar -region backgroundMeshDecomposition
surfaceFeatureExtract
mpirun -np 8 foamyHexMesh -parallel
mpirun -np 8 collapseEdges -collapseFaces -latestTime -dict system/collapseDict.collapseFaces -parallel
mpirun -np 8 checkMesh -allTopology -allGeometry -latestTime -parallel
reconstructParMesh -latestTime
latestTime=$(foamListTimes -latestTime)
cp -r $latestTime/polyMesh constant
rm -rf $latestTime
cp system/controlDict.flow system/controlDict
rm -rf 0
createBaffles -overwrite
mergeOrSplitBaffles -split -overwrite
createPatch -overwrite
cp -r 0.orig 0
setFields
# 計算の実行
decomposePar -force
mpirun -np 8 interDyMFoam -parallel
reconstructPar -noFunctionObjects
paraFoam
計算時間
- メッシュ作成:51分53.7秒 ※8並列
- 解析:7日間と6時間13分4秒 ※8並列
※Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz