Previous: System files and case Up: OpenFOAM tutorial – Cyclone Next: Basic postprocessing
This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.
Running the case
- Running the case consists of several steps which are pre-defined in the script file AllrunSnappyMesh.sh below.
- The basic steps are:
- clean the case and set given number of processors
- create background mesh and run snappyHexMesh
- creating necessary files for MPPICFoam solver
- running MPPICFoam solver
cd ${0%/*} || exit 1 if [[ $(echo $WM_PROJECT_VERSION | cut -c1-3) != "dev" ]] then echo "Use OpenFOAM dev with this example script, please." exit fi NPROCESS=$1 # Number of processes. This number will be written to "system/decomposeParDict". if [[ $NPROCESS == "" ]] then # ... or use all cores of a single-processor machine. NPROCESS=$(sed -n "s/cpu cores[\t :]*\([0-9]\+\)/\1/p" /proc/cpuinfo | sort -u) fi echo echo "Numer of processors set for this simulation: --> $NPROCESS <--" sed -i "s/numberOfSubdomains.*[0-9][0-9]*;/numberOfSubdomains $NPROCESS;/g" system/decomposeParDict echo echo "Cleaning cases..." ./AllcleanAll.sh > allClean 2>&1 mv allClean log-01-allClean echo " ...done" echo echo "Creating backgroundMesh..." blockMesh > log-02-blockMesh 2>&1 echo " ...done" echo echo "Generating feature-edges..." surfaceFeatureExtract > log-03-surfaceFeatureExtract 2>&1 echo " ...done" echo echo "Decomposing background mesh..." decomposePar > log-04-decomposePar-backgroundMesh 2>&1 echo " ...done" echo echo "Running snappyHexMesh..." mpiexec -np $NPROCESS snappyHexMesh -parallel -overwrite > log-05-snappyHexMesh 2>&1 echo " ...done" echo echo "Checking mesh..." mpiexec -np $NPROCESS checkMesh -parallel > log-06-checkMesh 2>&1 echo " ...done" echo echo "Reconstructing mesh..." reconstructParMesh -latestTime -constant > log-07-reconstructParMesh 2>&1 echo " ...done" echo echo "Cleaning mesh..." createPatch -overwrite > log-08-createPatch 2>&1 echo " ...done" echo echo "Creating initial setup..." cp -rv 0.org 0 echo " ...done" echo "Decomposing case..." decomposePar -force > log-09-decomposePar 2>&1 echo " ...done" echo "Running MPPICFoam..." mpiexec -np $NPROCESS MPPICFoam -parallel > log-10-MPPICFoam 2>&1 echo " ...done" echo "Reconstructing all saved times..." reconstructPar > log-11-reconstructPar 2>&1 echo " ...done"
- line 11 checks if the script is run from the place where the script file is stored
- lines 13-17 check if OpenFOAM v3.0.* is used
- lines 19-28 read number of subdomain used for computation, it uses maximum number of cores available if nothing is specified
- lines 30-34 run script which cleans the case directory
- lines 36-39 creates the backgroundMesh which is defined in blockMeshDict file
- lines 41-44 more robust snapping to geometry edges can be achieved by means of feature-edges which are generated using surfaceFeatureExtract utility
- lines 46-49 for parallel mesh generation the case is decomposed
- lines 51-54 run snappyHexMesh in parallel; the flag -overwrite means, that new mesh will be stored in /constant/polyMesh directory
- lines 56-59 check the quality of new generated mesh
- lines 61-64 reconstruct the mesh
- lines 66-69 clean empty patches in mesh
- lines 71-75 create directory 0
- lines 76-78 decompose the case for parallel running
- lines 80-82 run computation in parallel
- lines 84-86 reconstruct all time directiories
- Go to case directory and run the script, e.g. using 4 cores:
# ./AllrunSnappyMesh.sh 4