openfoam/tutorials/mesh/foamyHexMesh/mixerVessel/Allrun-pre
2016-03-06 19:06:44 +00:00

105 lines
2.8 KiB
Bash
Executable File

#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
intersectSurfaces()
{
outputName1=$(basename $1)
outputName1=${outputName1%.*}
outputName2=$(basename $2)
outputName2=${outputName2%.*}
runApplication -s $outputName1:$outputName2 \
surfaceBooleanFeatures intersection "$@"
}
# Set application name
application=$(getApplication)
\rm -rf 0
# Run the surface preparation script
./constant/triSurface/surfaceProcess.sh > log.surfaceProcess 2>&1
# Surface intersections
intersectSurfaces \
constant/triSurface/vessel.stl \
constant/triSurface/spargerShaft.stl \
-perturb
intersectSurfaces \
constant/triSurface/vessel.stl \
constant/triSurface/shaft.stl \
-perturb
intersectSurfaces \
constant/triSurface/spargerShaft.stl \
constant/triSurface/spargerInlet.stl \
-perturb
intersectSurfaces \
constant/triSurface/stirrer.stl \
constant/triSurface/shaftRotating.stl \
-perturb
intersectSurfaces \
constant/triSurface/stirrer_baffles.stl \
constant/triSurface/stirrer.stl \
-surf1Baffle \
-perturb
intersectSurfaces \
constant/triSurface/rotating.stl \
constant/triSurface/shaft.stl \
-surf1Baffle \
-perturb
# Intersect blades with the plate
for bladeI in $(seq 1 6);
do
intersectSurfaces \
constant/triSurface/stirrer_baffles_$bladeI.obj \
constant/triSurface/stirrer_baffles_plate.obj \
-surf1Baffle \
-surf2Baffle
done
# Meshing
\cp system/controlDict.mesh system/controlDict
runApplication blockMesh -region backgroundMeshDecomposition
runApplication -s backgroundMeshDecomposition \
decomposePar -region backgroundMeshDecomposition
runApplication surfaceFeatureExtract
runParallel foamyHexMesh
runParallel -s faces \
collapseEdges -collapseFaces -latestTime \
-dict system/collapseDict.collapseFaces
#runParallel -s faceSet \
# collapseEdges -collapseFaceSet indirectPatchFaces -latestTime \
# -dict system/collapseDict.indirectPatchFaces
runParallel checkMesh -allTopology -allGeometry -latestTime
runApplication reconstructParMesh -latestTime
# Copy the mesh from the latest time folder into polyMesh and delete that
# latest time folder
latestTime=$(foamListTimes -latestTime)
\cp -r $latestTime/polyMesh constant
\rm -rf $latestTime
#------------------------------------------------------------------------------