#!/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 "$@" } \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 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=$(foamInfoExec -case processor0 -latestTime) if [ "$latestTime" != "constant" ] && [ -d processor0/$latestTime/polyMesh ] then runApplication reconstructParMesh -latestTime \cp -r $latestTime/polyMesh constant \rm -rf $latestTime fi #------------------------------------------------------------------------------