|
[Sponsors] |
August 19, 2011, 10:21 |
gmsh+stl+snappyHexMesh
|
#1 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Hi all,
I have a question regarding gmsh. I would like to construct a geometry using gmsh(only the geometry, not the mesh) and then use snappyHexMesh to construct the mesh around this geometry. Is possible using gmsh (maybe using the stl format output)? If yes, which are the steps? thanks andrea |
|
August 21, 2011, 04:39 |
|
#2 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Yes, it is possible. Once you have the STL, put a box with blockMesh around it and mesh the box fine enough to intersect the details of your geometry. At this point you can follow one of the tutorials of snappyHexMesh to create the mesh.
Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
August 22, 2011, 04:58 |
|
#3 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Hi Alberto,
thanks a lot andrea |
|
August 23, 2011, 06:24 |
|
#4 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Hi again,
Is possible also for 2d geometries (1 cell in z direction)? If i want, for example, make a simple mesh of a box with an empty circle (disc with 1 cell in z direction) inside, how i have to construct my STL file using gmsh? thanks andrea |
|
August 24, 2011, 05:28 |
|
#5 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Hi,
following the "wingMotion" tutorial i've been able to create a 2D mesh of the simple geometry that i've mentioned in the previous post. Now, i would like to have a structured mesh as much as possible, at least away from the STL surface. So, why does snappy split cells in a way so weird, instead of dividing the square into four parts (see the attached pictures)? What should I do to keep the mesh structured? (for example in this post http://www.cfd-online.com/Forums/ope...ms-snappy.html there is a very similar example, in which the mesh away from the STL surface is completly structured). |
|
August 24, 2011, 10:05 |
|
#6 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Do you see the same problem if you activate the option "use VTKkPolyhedron" in paraview? Paraview tends to show some cells as triangles, even when they are actually a single cell.
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
August 24, 2011, 10:45 |
|
#7 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Hi Alberto,
yes, i see the same problem. I made my test case even more simple: now the "hole" is a square. I've attached 2 pictures (with or without "Decompose Polyhedra"), my blockMeshDict and my snappyHexMeshDict. Where am I doing wrong? andrea |
|
August 24, 2011, 21:04 |
|
#8 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
You can probably avoid the problem with a trick:
- Generate the mesh in snappyHexMesh without adding layers or refining around the surfaces. - Use refineMesh to refine around objects. You basically define boxes where to refine in sequence. P.S. Does this problem appear in OpenFOAM 2.0.x? Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
August 25, 2011, 03:45 |
|
#9 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Hi, and thanks
I've never used the utility refineMesh, do i need a dictionary?if yes, which one? I'm using OF 1.7.1, i don't know for the new version. thanks again andrea |
|
August 25, 2011, 09:53 |
|
#10 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Hi,
I've played a bit with refineMesh and it works. I mean now the cells splitting is correct (all hexas, see the attached pictures) but the problem is that now all the mesh is refined. If i want to refine only a particular region (close to the obstacle for example), what i have to do? Is possible using this utility? I am still a little bit confuse why it doesn't work using snappyHexMesh, i guess the cells splitting procedure should be the same...maybe there is something wrong in the snappyHexMeshDict...I've attached also my checkMesh for the previous case (snappy with refinement). Code:
Time = 0.001 Mesh stats points: 22748 faces: 46056 internal faces: 26076 cells: 11910 boundary patches: 7 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 11682 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 228 Checking topology... Boundary definition OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology left 100 202 ok (non-closed singly connected) right 100 202 ok (non-closed singly connected) top 100 202 ok (non-closed singly connected) bottom 100 202 ok (non-closed singly connected) front 9390 9902 ok (non-closed singly connected) back 9390 9902 ok (non-closed singly connected) square_CreatedbyGmsh800 1200 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (0 0 -1e-05) (0.001 0.001 1e-05) Mesh (non-empty, non-wedge) directions (1 1 0) Mesh (non-empty) directions (1 1 0) All edges aligned with or perpendicular to non-empty directions. Boundary openness (-3.59019e-17 3.6604e-17 5.67728e-14) OK. Max cell openness = 1.29247e-16 OK. Max aspect ratio = 1 OK. Minumum face area = 2.5e-11. Maximum face area = 2e-10. Face area magnitudes OK. Min volume = 2.5e-16. Max volume = 2e-15. Total volume = 1.5e-11. Cell volumes OK. Mesh non-orthogonality Max: 36.6992 average: 6.69095 Non-orthogonality check OK. Face pyramids OK. Max skewness = 2 OK. Mesh OK. andrea |
|
August 25, 2011, 11:17 |
|
#11 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
SnappyHexMesh greatly improved in 2.0.x, as a consequence I strongly suggest to upgrade to the latest version. If you want more information: http://www.openfoam.com/news/snappyH...ature-edge.php
The refineMesh utility can use a cellSet to define the region where you want to apply the refinement. In OpenFOAM 1.7.x, you can select sells with cellSet (via dictionary, see OpenFOAM-1.7.x/applications/utilities/mesh/manipulation/cellSet/cellSetDict, while in OpenFOAM 2.0.x, the utility was merged into setSet. In other words: 1. Generate with snappy 2. Define the region to refine via cellSet (or setSet) 3. Use refineMesh specifying the name of the cell set you created You then repeat step 2 and 3 to add the layers. I find this procedure more reliable even if a bit more tricky, in comparison to a direct use of snappyHexMesh. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
August 26, 2011, 05:08 |
|
#12 |
Senior Member
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16 |
Thanks Alberto.
Another question...in the cellSetDict i can, for example, specify a box using boxToCell: topoSetSources ( boxToCell { box (whatever) (whatever); } ) Is also possible to specify a patch? or a region around a patch? Thanks andrea |
|
July 14, 2013, 11:25 |
|
#13 |
Member
Join Date: Aug 2011
Posts: 89
Rep Power: 14 |
Hello,
I´ve got a question to refineMesh. Could it be also used two times? I made a mesh with snappyHexMesh. Afterwards I defined a box, saved the geometry in *.stl. SnappyHexMesh creates a "0" folder Then I used the command insideCells refinementbox.stl set Afterwards: refineMesh -dict Everything is working fine. A "1" folder is created. Now I defined a second (smaller) box. I did: insideCells refinementbox2.stl set2 set2 is created in 1/polyMesh/sets but the command refineMesh -dict is not working. I get the error massage: Create time Create polyMesh for time = 1 #0 Foam::error:rintStack(Foam::Ostream&) in "OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigFpe::sigHandler(int) in "OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 in "/lib64/libc.so.6" #3 in "OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/refineMesh" #4 in "OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/refineMesh" #5 __libc_start_main in "/lib64/libc.so.6" #6 at /usr/src/packages/BUILD/glibc-2.11.2/csu/../sysdeps/x86_64/elf/start.S:116 Gleitkomma-Ausnahme Can anybody help? Thanks a lot idefix |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[CAD formats] Creating waterproof STL using snappyHexMesh or salome | Tobi | OpenFOAM Meshing & Mesh Conversion | 58 | May 13, 2020 06:01 |
[snappyHexMesh] What types of stl files are needed in snappyhexmesh? | phandy | OpenFOAM Meshing & Mesh Conversion | 1 | February 19, 2015 05:36 |
[snappyHexMesh] Experimentally obtained STL file for internal Flow SnappyHexMesh | Irish09 | OpenFOAM Meshing & Mesh Conversion | 9 | April 7, 2012 08:50 |
[snappyHexMesh] Patch Names in STL file for snappyHexMesh | Kattie | OpenFOAM Meshing & Mesh Conversion | 11 | October 18, 2011 11:05 |
[Gmsh] Import problem | ARC | OpenFOAM Meshing & Mesh Conversion | 0 | February 27, 2010 10:56 |