Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling...

23
Mesh Generation in OpenFoam® with SnappyHexMesh An User Experience 1st OpenFOAM® Users' Meeting - Brazil December 3rd 2010 @ LCFT-ITA São José do Campos – SP – Brazil Organization:

Transcript of Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling...

Page 1: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Mesh Generation in OpenFoam® with SnappyHexMesh

An User Experience

1st OpenFOAM® Users' Meeting - BrazilDecember 3rd 2010 @ LCFT-ITA São José do Campos – SP – Brazil

Organization:

Page 2: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Team Members:

Dr. Guilherme Araujo Lima da SilvaDr. Marcos Noboru Arima

Francisco Domingues de Sousa

ATS4i Aero-thermal Solutions for IndustrySão 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.

Page 3: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

● Introduction● Run blockMesh● STL Body Geometry ● Run snappyHexMesh● Conclusions

Page 4: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

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

Page 5: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

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

Page 6: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

EnGrid (Gmesh+Netgen+Prisms)

Page 7: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

MIME+cgnsToFoam+ autoPatch

Page 8: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

blockMesh

Page 9: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Edit BlockMeshDict

Run blockMesh

pyFoamDisplayBlockMesh

The STL file goes in triSurface directory

Page 10: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

STL Geometry

Page 11: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

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

Page 12: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

EnGrid or Paraview may help you fixing STL geometry

Correct Scaling and Origin

Page 13: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

snappyHexMesh

Page 14: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Define the surface to be loaded from triSurface directory

Define refinement region

Page 15: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Define surface refinement min and max levels

Define refinement level in region selected

Page 16: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

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!!!

Page 17: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Define Layers

Page 18: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory
Page 19: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory
Page 20: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

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....

Page 21: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Contactü Guilherme Araujo Lima da Silva, Dr.ü [email protected]

Table of Contents Introduction Review Testing Conclusions

Page 22: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

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;

Table of Contents Introduction Review Testing Conclusions

Page 23: Mesh Generation in OpenFoam® with … or Paraview may help you fixing STL geometry Correct Scaling and Origin. snappyHexMesh. Define the surface to be loaded from triSurface directory

Thank you !