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