Mixing tank
Update: June 1, 2017
OpenFOAM 4.x
This tutorial cannot be run on Ubuntu 14.04 LTS version of OpenFOAM, you need to use Ubuntu 16.04 LTS version of OpenFOAM or build foamyHexMesh by yourself.
Case directory
$FOAM_TUTORIALS/mesh/foamyHexMesh/mixerVessel
Summary
We use foamyHexMesh to create the mesh. The original shape is defined in (STL format) files under the directory constant/triSurface and the mesh settings are defined in the file system/foamyHexMeshDict.
Model geometry (whole)
Model geometry (internal mixer and stator)
After creating the mesh, we will calculate the flow for 5 seconds for the case where a liquid tank is stirred with gas passing through it.
The rotation speed of the mixer is specified in the file constant/dynamicMeshDict as follows.
dynamicFvMesh solidBodyMotionFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
solidBodyMotionFvMeshCoeffs
{
cellZone rotating;
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega -5;
}
}
The meshes are as follows, and the number of mesh is 2246260.
Meshes
Mesh (internal mixer and stator)
The calculation result is as follows.
Flow velocity (U)
Volume fraction of gas phase (alpha-phase1)
Flow velocity at the final time (U)
Volume fraction of gas phase at the final time (alpha-phase1)
Pressure distribution on the mixer surface at the final time (p_rgh)
Commands
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
# Making meshes
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
# Calculating
decomposePar -force
mpirun -np 8 interDyMFoam -parallel
reconstructPar -noFunctionObjects
paraFoam
Calculation time
Making meshes: 51 minutes and 53.7 seconds. *8 parallel
Calculating: 7 days, 6 hours, 13 minutes and 4 seconds. *8 parallel
※Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz