#!/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 #------------------------------------------------------------------------------