Previous: Mesh of non-rotating part Up: Mesh of non-rotating part Next: Merging meshes of rotating
This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.
Non-rotating part mesh generation
- Let’s start with listing of the part of the makeMesh.sh script that belongs to the mesh generation of the non-rotating part of this model.
echo "Creating mesh of non rotating part..." cd nonRotatingPart blockMesh > ../../log.nonRotatingPart-blockMesh 2>&1 surfaceFeatureExtract > ../../log.nonRotatingPart-surfaceFeatureExtract 2>&1 decomposePar > ../../log.nonRotatingPart-decomposePar 2>&1 mpiexec -np $numProcs snappyHexMesh -overwrite -parallel > ../../log.nonRotatingPart-snappyHexMesh 2>&1 reconstructParMesh -constant > ../../log.nonRotatingPart-reconstructParMesh 2>&1 topoSet > ../../log.nonRotatingPart-topoSet 2>&1 # creating 'Co1_zone' zone checkMesh -constant > ../../log.nonRotatingPart-checkMesh 2>&1 cd ..
- Lines 32 – 34 prints “Creating mesh of non rotating part…” on the terminal screen, jumps into the directory mesh/nonRotatingPart and starts the application blockMesh (line 34) for making the background mesh for the non-rotating part of the wind turbine model. The standard output is forwarded into the log file (log.nonRotatingPart-blockMesh).
# cd mesh/nonRotatingPart/
# blockMesh > ../../log.nonRotatingPart-blockMesh 2>&1 - One can see the detailed settings of blockMesh in blockMeshDict.
# cat mesh/nonRotatingPart/system/blockMeshDict
- Line 35 – running surfaceFeatureExtract utility for making *.eMesh files containing feature edges information. One can see the settings for this utility in system/surfaceFeatureExtractDict and system/surfaceFeatureExtractDictDefaults
# surfaceFeatureExtract > \
../../log.nonRotatingPart-surfaceFeatureExtract 2>&1 - Once the background mesh is created it can be decomposed (line 36) for parallel execution with settings defined in system/decomposeParDict.
# decomposePar > ../../log.rotatingPart-decomposePar 2>&1
- The main mesh generation process is done using utility snappyHexMesh (line 37).
# mpiexec -np 6 snappyHexMesh -overwrite -parallel > \
../../log.nonRotatingPart-snappyHexMesh 2>&1 - And a parallel reconstruction of the mesh (line 38).
# reconstructParMesh -constant > \
../../log.nonRotatingPart-reconstructParMesh 2>&1 - The switch -constant in the command above means one wants to reconstruct the mesh directly into the directory constant.
- Using topoSet (line 39) one will create non-rotating zone useful for future post-processing later on.
# topoSet > ../../log.nonRotatingPart-topoSet 2>&1
- Line 40 – running the checkMesh utility to collect the information about the mesh size and quality.
- Line 41 – just a jump back to the root directory of the case.
- The background mesh is quite coarse because the volume of the domain is huge. Therefore, four cylindrical refinementRegions near and behind the wind turbine are employed in system/snappyHexMeshDict – search for refinementCyl1 .. 4 in system/snappyHexMeshDict.
- See the definition of geometry of the refinement cylinders in following listing of the snappyHexMeshDict file:
refinementCyl4 { type searchableCylinder; point1 (-15000 0 0); point2 (8000 0 0); radius 33000; } refinementCyl3 { type searchableCylinder; point1 (-50000 0 0); point2 (10000 0 0); radius 35000; } refinementCyl2 { type searchableCylinder; point1 (-100000 0 0); point2 (15000 0 0); radius 37000; } refinementCyl1 { type searchableCylinder; point1 (-160000 0 0); point2 (20000 0 0); radius 40000; }
- See the definition of mesh refinement inside the cylinders in following listing of the snappyHexMeshDict file:
refinementRegions { refinementCyl1 { mode inside; levels ((1E15 1)); } refinementCyl2 { mode inside; levels ((1E15 2)); } refinementCyl3 { mode inside; levels ((1E15 3)); } refinementCyl4 { mode inside; levels ((1E15 4)); } }
- See the effect of the refinement defined by refinementRegions in the figure .
Figure: Wind turbine tutorial. Mesh of non-rotating part.
Previous: Mesh of non-rotating part Up: Mesh of non-rotating part Next: Merging meshes of rotating