Mesh Generation in OpenFoam with SnappyHexMesh
An User Experience
Organization:
1st OpenFOAM Users' Meeting - Brazil December 3rd 2010 @ LCFT-ITA So Jos do Campos SP Brazil
Team Members:
Dr. Guilherme Araujo Lima da Silva Dr. Marcos Noboru Arima Francisco Domingues de Sousa
ATS4i Aero-thermal Solutions for Industry So Paulo SP Brazil*
(*) This presentation is based only in user experience and it is not approved or endorsed by the producers of the OpenFOAM software.
Introduction Run blockMesh STL Body Geometry Run snappyHexMesh Conclusions
Objectives
Introduce some OpenFoam mesh generation strategies; Present snappyHexMesh to audience; Transfer knowledge acquired by ATS4i; Discuss results;
Presentation focus
Very quick overview due to time constraint Use of the software only Mesh generations with open source tools This is not a manual or user guide
Mesh Generation in OpenFoam
Open Source Tools Used
BlockMesh SnappyHexMesh EnGrid (Gmesh+Netgen+prisms)
Commercial Tools Used
Metacomp's MIME export to cgns cgnsToFoam and autoPatch
EnGrid
(Gmesh+Netgen+Prisms)
MIME+cgnsToFoam+
autoPatch
blockMesh
Edit BlockMeshDict Run blockMesh pyFoamDisplayBlockMesh
The STL file goes in triSurface directory
STL Geometry
STL Geometry Tips
Check the quality of the STL file. The surface needs to be as smooth as possible, without any humps. Check the orientation of the STL file. Are the coordinate axes aligned correctly? Check the position of the STL file. Is the origin of the STL file located, where it is supposed to be? Check the scaling of the STL file. Guess Check the format of the STL file. It should be ASCII and not binary. You can have multiple surface groups in your STL file, but the naming should be without whitespaces, such as
Correct Scaling and Origin
EnGrid or Paraview may help you fixing STL geometry
snappyHexMesh
Define the surface to be loaded from triSurface directory
Define refinement region
Define surface refinement min and max levels
Define refinement level in region selected
Define location in Mesh. It must be inside the volume to be meshed (here outside the body) Paraview may help you to find the coordinates!!!
Define Layers
Recommendations
Pay attention to scaling and origin of STL file Quality of STL file may be an issue also Visualize STL file Visualize blockMesh and try to make it balanced 1:1:1 Change one parameter per time in snappyHexMeshDict Take care because the layers will not grow if it is inconsistent or distorts to much the mesh (quality control) Use caution when defining the refinement levels because they are exponents! So level 2 is 2^2, level 3 is 2^3....
Table of Contents
Introduction
Review
Testing
Conclusions
Contact
Guilherme Araujo Lima da Silva, Dr.
gasilva@ats4i.com.br
Table of Contents
Introduction
Review
Testing
Conclusions
Acknowledgments
Jens H. / Shipbuilding Student / 1984 / windsurfer, owner of http://www.hydroniumion.de/category/openfoam/ - great tutorials there! The team acknowledges to Prof. Marcelo Lemos and ITA organization for the opportunity;
Thank you !