- TUT: mesh: add missing SnakeRiverCanyon files - TUT: mesh: add missing cp source in a foamyHexMesh tutorial
87 lines
2.4 KiB
Bash
Executable File
87 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
cd "${0%/*}" || exit # Run from this directory
|
|
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
|
#------------------------------------------------------------------------------
|
|
|
|
intersectSurfaces()
|
|
{
|
|
outputName1=$(basename $1)
|
|
outputName1=${outputName1%.*}
|
|
|
|
outputName2=$(basename $2)
|
|
outputName2=${outputName2%.*}
|
|
|
|
runApplication -s $outputName1:$outputName2 \
|
|
surfaceBooleanFeatures intersection "$@"
|
|
}
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
cp -rf \
|
|
"$FOAM_TUTORIALS"/resources/geometry/mixerVesselAMI \
|
|
constant/triSurface/rawSurfaces
|
|
|
|
rm -rf 0
|
|
|
|
# Run the surface preparation script
|
|
./constant/triSurface/surfaceProcess.sh > log.surfaceProcess 2>&1
|
|
|
|
# Surface intersections
|
|
intersectSurfaces vessel.stl spargerShaft.stl -perturb
|
|
|
|
intersectSurfaces vessel.stl shaft.stl -perturb
|
|
|
|
intersectSurfaces spargerShaft.stl spargerInlet.stl -perturb
|
|
|
|
intersectSurfaces stirrer.stl shaftRotating.stl -perturb
|
|
|
|
intersectSurfaces stirrer_baffles.stl stirrer.stl -surf1Baffle -perturb
|
|
|
|
intersectSurfaces rotating.stl shaft.stl -surf1Baffle -perturb
|
|
|
|
# Intersect blades with the plate
|
|
for bladeI in $(seq 1 6)
|
|
do
|
|
intersectSurfaces \
|
|
stirrer_baffles_"$bladeI".obj \
|
|
stirrer_baffles_plate.obj \
|
|
-surf1Baffle -surf2Baffle
|
|
done
|
|
|
|
# Meshing
|
|
cp -f 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
|
|
|
|
# Copy the mesh from the latest time folder into polyMesh and delete that
|
|
# latest time folder
|
|
latestTime=$(foamListTimes -latestTime -processor)
|
|
if [ "$latestTime" != "constant" ] && [ -d processor0/"$latestTime"/polyMesh ]
|
|
then
|
|
runApplication reconstructParMesh -latestTime
|
|
|
|
cp -rf "$latestTime"/polyMesh constant
|
|
rm -rf "$latestTime"
|
|
fi
|
|
|
|
|
|
#------------------------------------------------------------------------------
|