トップ - 技術ドキュメント - OpenFOAM 付属チュートリアル一覧

撹拌タンク

更新:2017/6/1
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