CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[snappyHexMesh] snappyHexMesh on 1.7.1 and 2.1.0

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 3, 2012, 11:50
Default snappyHexMesh on 1.7.1 and 2.1.0
  #1
Senior Member
 
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16
Andrea_85 is on a distinguished road
Hi all,
What are the differences between the old snappyHexMesh (OF 1.7) and the the new one (OF 2.1). I meshed the same geometry with both versions, using the same dictionary and obtaining different mesh:

snappy of OF 2.1.0

Mesh stats
points: 5756460
internal points: 0
faces: 11189366
internal faces: 5292421
cells: 2767077
boundary patches: 7
point zones: 0
face zones: 0
cell zones: 0

Overall number of cells of each type:
hexahedra: 2646402
prisms: 120675
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0

snappy on OF 1.7.1


Mesh stats
points: 5997810
internal points: 0
faces: 11310041
internal faces: 5292421
cells: 2767077
boundary patches: 7
point zones: 0
face zones: 0
cell zones: 0

Overall number of cells of each type:
hexahedra: 2767077
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0


The total number of cells is the same but in OF 1.7.1 i have only hexa (some cells were not exactly hex, but they were a little bit distorted) while in OF 2.1 i got also some prisms cells. Since i think that working with hex is always better how can i reproduce the same hex-mesh on OF 2.1? How can I avoid prisms?

thanks

andrea
Andrea_85 is offline   Reply With Quote

Old   May 3, 2012, 15:45
Default
  #2
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings Andrea,

OK, quickest comparison:
Code:
diff -Nur OpenFOAM-1.7.1/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict OpenFOAM-2.1.0/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict > snappyHexMeshDict.diff
It basically gives the following output:
Code:
--- OpenFOAM-1.7.1/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict    2010-08-24 15:32:48.000000000 +0100
+++ OpenFOAM-2.1.0/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict    2011-11-30 14:25:22.000000000 +0000
@@ -1,8 +1,8 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.7.1                                 |
-|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|  \\    /   O peration     | Version:  2.1.0                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
@@ -28,7 +28,7 @@
 // - to 'snap' the mesh boundary to the surface
 geometry
 {
-    motorBike.stl
+    motorBike.obj
     {
         type triSurfaceMesh;
         name motorBike;
@@ -54,7 +54,7 @@
     // If local number of cells is >= maxLocalCells on any processor
     // switches from from refinement followed by balancing
     // (current method) to (weighted) balancing before refinement.
-    maxLocalCells 1000000;
+    maxLocalCells 100000;
 
     // Overall cell limit (approximately). Refinement will stop immediately
     // upon reaching this number so a refinement level might not complete.
@@ -152,6 +152,12 @@
     // NOTE: This point should never be on a face, always inside a cell, even
     // after refinement.
     locationInMesh (3 3 0.43);
+
+
+    // Whether any faceZones (as specified in the refinementSurfaces)
+    // are only on the boundary of corresponding cellZones or also allow
+    // free-standing zone faces. Not used if there are no faceZones.
+    allowFreeStandingZoneFaces true;
 }
 
 
@@ -169,11 +175,16 @@
     tolerance 4.0;
 
     //- Number of mesh displacement relaxation iterations.
-    nSolveIter 30;
+    nSolveIter 0;
 
     //- Maximum number of snapping relaxation iterations. Should stop
     //  before upon reaching a correct mesh.
     nRelaxIter 5;
+
+    //- Highly experimental and wip: number of feature edge snapping
+    //  iterations. Leave out altogether to disable.
+    //  Do not use here since mesh resolution too low and baffles present
+    //nFeatureSnapIter 10;
 }
 
 
@@ -188,275 +199,7 @@
     // Per final patch (so not geometry!) the layer information
     layers
     {
-        minZ
-        {
-            nSurfaceLayers 1;
-        }
-        motorBike_frt-fairing:001%1
-        {
-            nSurfaceLayers 1;
-        }
 [snipped code]
-        motorBike_rear-shock-link-shadow%87
-        {
-            nSurfaceLayers 1;
-        }
-        motorBike_rear-brake-fluid-pot-bracket-shadow%88
-        {
-            nSurfaceLayers 1;
-        }
-        motorBike_rr-wh-chain-hub-shadow%89
+        "(lowerWall|motorBike).*"
         {
             nSurfaceLayers 1;
         }
@@ -466,6 +209,9 @@
     expansionRatio 1.0;
 
     //- Wanted thickness of final added cell layer. If multiple layers
+    //  is the
+    //  thickness of the layer furthest away from the wall.
+    //  Relative to undistorted size of cell outside layer.
     //  is the thickness of the layer furthest away from the wall.
     //  See relativeSizes parameter.
     finalLayerThickness 0.3;
@@ -478,8 +224,8 @@
     //- If points get not extruded do nGrow layers of connected faces that are
     //  also not grown. This helps convergence of the layer addition process
     //  close to features.
-    nGrow 1;
-
+    // Note: changed(corrected) w.r.t 17x! (didn't do anything in 17x)
+    nGrow 0;
 
     // Advanced settings
 
@@ -508,12 +254,17 @@
     maxThicknessToMedialRatio 0.3;
 
     // Angle used to pick up medial axis points
-    minMedianAxisAngle 130;
+    // Note: changed(corrected) w.r.t 17x! 90 degrees corresponds to 130 in 17x.
+    minMedianAxisAngle 90;
+
 
     // Create buffer region for new layer terminations
     nBufferCellsNoExtrude 0;
 
-    // Overall max number of layer addition iterations
+
+    // Overall max number of layer addition iterations. The mesher will exit
+    // if it reaches this number of iterations; possibly with an illegal
+    // mesh.
     nLayerIter 50;
 }
 
@@ -535,14 +286,21 @@
     //  Set to 180 to disable.
     maxConcave 80;
 
-    //- Minimum projected area v.s. actual area. Set to -1 to disable.
-    minFlatness 0.5;
-
     //- Minimum pyramid volume. Is absolute volume of cell pyramid.
     //  Set to a sensible fraction of the smallest cell volume expected.
     //  Set to very negative number (e.g. -1E30) to disable.
     minVol 1e-13;
 
+    //- Minimum quality of the tet formed by the face-centre
+    //  and variable base point minimum decomposition triangles and
+    //  the cell centre. This has to be a positive number for tracking
+    //  to work. Set to very negative number (e.g. -1E30) to
+    //  disable.
+    //     <0 = inside out tet,
+    //      0 = flat tet
+    //      1 = regular tet
+    minTetQuality 1e-30;
+
     //- Minimum face area. Set to <0 to disable.
     minArea -1;
 
@@ -585,7 +343,7 @@
 
 // Merge tolerance. Is fraction of overall bounding box of initial mesh.
 // Note: the write tolerance needs to be higher than this.
-mergeTolerance 1E-6;
+mergeTolerance 1e-6;
 
 
 // ************************************************************************* //
In bold is the main difference between the two OpenFOAM versions, when it comes to "snappyHexMeshDict".

You might also want to upgrade to 2.1.x for at least the following reason: http://www.openfoam.org/mantisbt/view.php?id=351

Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   May 4, 2012, 03:14
Default
  #3
Senior Member
 
Andrea Ferrari
Join Date: Dec 2010
Posts: 319
Rep Power: 16
Andrea_85 is on a distinguished road
HI Bruno,

that's the point. If there's no significant difference why i get two different mesh? and again my question...how can i avoid prisms? i tried set "cellDeterminat = -1" with no changes. I think that if i had a full hexa-mesh with the old version it should be possibile to get the same with the new one.

best

andrea
Andrea_85 is offline   Reply With Quote

Old   May 5, 2012, 08:59
Default
  #4
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi Andrea,

I forgot to mention that there might be more changes beyond these two lists I've shown above. But in the link to the bug tracker it indicates that "maxNonOrtho" also changed.

If you could provide a simple example, it might be easier to pinpoint the change. Nonetheless, I'll try to list a few more changes:
  • This bug report seems closely related to your problem: http://www.openfoam.org/mantisbt/view.php?id=309 - namely this comment:
    Quote:
    I've reenabled refining and snapping

    castellatedMesh true;
    snap true;

    and set

    minTetQuality -1;

    and get really good results in 2.1.x.
Mmmm... can't find anything else. But I'd say that the "minTetQuality" option is what you might be looking for.


Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[snappyHexMesh] SnappyHexMesh in Parallel problem swifty OpenFOAM Meshing & Mesh Conversion 10 November 6, 2015 04:40
[snappyHexMesh] Error with a turbine mesh with SnappyHexMesh DOliveira OpenFOAM Meshing & Mesh Conversion 1 July 16, 2015 08:02
[snappyHexMesh] problems using snappyHexMesh 2.1.0 on a supercomputer Sunxing OpenFOAM Meshing & Mesh Conversion 9 September 20, 2014 09:30
Error in meshing a Ship hull using snappyhexmesh Sachin m OpenFOAM Pre-Processing 1 August 27, 2014 23:27
OpenFOAM 2.2.0 and 2.1.0 side by side errors Neraste OpenFOAM Installation 2 June 12, 2013 04:55


All times are GMT -4. The time now is 10:03.