
[Sponsors] 
[snappyHexMesh] Add Mesh Layers doesnt work on the whole surface 

LinkBack  Thread Tools  Search this Thread  Display Modes 
September 10, 2012, 07:13 
Add Mesh Layers doesnt work on the whole surface

#1 
New Member
Join Date: Sep 2012
Posts: 8
Rep Power: 13 
Hello,
I just tried to make a simple mesh with snappyHexMesh, and everything worked quite well so far. But now I am at a point, where I cannot find a solution to my current problem. I got a simple "rocket" which exists of a cylinder and a cone as tip and rear. When creating the mesh it adds the layers on the surface correctly, but only on the cylindrical part. you can find a screenshot here: https://dl.dropbox.com/u/3545765/layersproblem.png as you see the layers stop at the edge, same on the tip and rear side. my snappyhexmeshdict as follows: Code:
addLayersControls { relativeSizes true; layers { rocketbody_rocketbodysurf { nSurfaceLayers 20; } } expansionRatio 1.1; finalLayerThickness 1e1; minThickness 1e10; nGrow 1; featureAngle 310; nRelaxIter 3; nSmoothSurfaceNormals 1; nSmoothNormals 3; nSmoothThickness 10; maxFaceThicknessRatio 0.5; maxThicknessToMedialRatio 0.3; minMedianAxisAngle 180; nBufferCellsNoExtrude 0; nLayerIter 1500; } Anyone any ideas? Thanks in advance! EDIT: maybe the output would also be interesting: Code:
Shrinking and layer addition phase  Using mesh parameters { maxNonOrtho 180; maxBoundarySkewness 20; maxInternalSkewness 4; maxConcave 180; minVol 1e13; minTetQuality 1e30; minArea 1; minTwist 0.02; minDeterminant 0.001; minFaceWeight 0.02; minVolRatio 0.01; minTriangleTwist 1; nSmoothScale 4; errorReduction 0.75; } Merging all faces of a cell   which are on the same patch  which make an angle < 310 degrees (cos:0.642788)  as long as the resulting face doesn't become concave by more than 90 degrees (0=straight, 180=fully concave) Merging 0 sets of faces. No faces merged ... Merging all points on surface that  are used by only two boundary faces and  make an angle with a cosine of more than 0.642788. No straight edges simplified and no points removed ... Checking mesh manifoldness ... Checking initial mesh ... Checking faces in error : faces with face pyramid volume < 1e13 : 0 faces with facedecomposition tet quality < 1e30 : 0 faces with skewness > 4 (internal) or 20 (boundary) : 0 faces with interpolation weights (0..1) < 0.02 : 0 faces with volume ratio of neighbour cells < 0.01 : 0 faces with face twist < 0.02 : 0 faces on cells with determinant < 0.001 : 0 Detected 0 illegal faces (concave, zero area or negative cell pyramid volume) Adding in total 0 interprocessor patches to handle extrusion of nonmanifold processor boundaries. Constructing mesh displacer ... Handling points with inconsistent layer specification ... Handling nonmanifold points ... Checking patch manifoldness ... Outside of local patch is multiply connected across edges or points at 0 points. Set displacement to zero for all 0 nonmanifold points Handling feature edges ... Handling cells with warped patch faces ... Set displacement to zero on 0 warped faces since layer would be > 0.5 of the size of the bounding box. Growing nonextrusion points by one layer ... Set displacement to zero for an additional 0 points. patch faces layers avg thickness[m] nearwall overall      rocketbody_rocketbodysurf 4536 20 0.00511 0.293 medialAxisSmoothingInfo : Calculate distance to Medial Axis ... shrinkMeshDistance : Smoothing normals ... Iteration 0 residual 0.0105 shrinkMeshDistance : Smoothing normals ... shrinkMeshDistance : Smoothing normals in interior ... Iteration 0 residual 0.0632 Layer addition iteration 0  Prevented extrusion on 0 coupled patch points during syncPatchDisplacement. Determining displacement for added points according to pointNormal ... Prevented extrusion on 0 coupled patch points during syncPatchDisplacement. shrinkMeshMedialDistance : Smoothing using Medial Axis ... shrinkMeshMedialDistance : Reduce layer thickness at 0 nodes where thickness to medial axis distance is large shrinkMeshDistance : Removing isolated regions ... Number isolated points extrusion stopped : 0 shrinkMeshDistance : Smoothing field ... Iteration 0 residual 9.04e05 shrinkMeshMedialDistance : Moving mesh ... Iteration 0 Moving mesh using diplacement scaling : min:1 max:1 Checking faces in error : faces with face pyramid volume < 1e13 : 0 faces with facedecomposition tet quality < 1e30 : 0 faces with skewness > 4 (internal) or 20 (boundary) : 0 faces with interpolation weights (0..1) < 0.02 : 0 faces with volume ratio of neighbour cells < 0.01 : 0 faces with face twist < 0.02 : 0 faces on cells with determinant < 0.001 : 0 shrinkMeshMedialDistance : Successfully moved mesh shrinkMeshMedialDistance : Finished moving mesh ... Prevented extrusion on 0 coupled patch points during syncPatchDisplacement. truncateDisplacement : Unextruded 0 faces due to nonconsecutive vertices being extruded. truncateDisplacement : Unextruded 0 faces due to stringed edges with inconsistent extrusion. Setting up information for layer truncation ... Checking mesh with layer ... Checking faces in error : faces with face pyramid volume < 1e13 : 0 faces with facedecomposition tet quality < 1e30 : 3588 faces with skewness > 4 (internal) or 20 (boundary) : 0 faces with interpolation weights (0..1) < 0.02 : 0 faces with volume ratio of neighbour cells < 0.01 : 0 faces with face twist < 0.02 : 0 faces on cells with determinant < 0.001 : 0 Detected 3588 illegal faces (concave, zero area or negative cell pyramid volume) Extruding 4016 out of 4536 faces (88.5%). Removed extrusion at 302 faces. Growing nonextrusion points by one layer ... Set displacement to zero for an additional 198 points. Layer addition iteration 1  Prevented extrusion on 0 coupled patch points during syncPatchDisplacement. Determining displacement for added points according to pointNormal ... Prevented extrusion on 0 coupled patch points during syncPatchDisplacement. shrinkMeshMedialDistance : Smoothing using Medial Axis ... shrinkMeshMedialDistance : Reduce layer thickness at 0 nodes where thickness to medial axis distance is large shrinkMeshDistance : Removing isolated regions ... Number isolated points extrusion stopped : 9 shrinkMeshDistance : Smoothing field ... Iteration 0 residual 0.00104 shrinkMeshMedialDistance : Moving mesh ... Iteration 0 Moving mesh using diplacement scaling : min:1 max:1 Checking faces in error : faces with face pyramid volume < 1e13 : 0 faces with facedecomposition tet quality < 1e30 : 0 faces with skewness > 4 (internal) or 20 (boundary) : 0 faces with interpolation weights (0..1) < 0.02 : 0 faces with volume ratio of neighbour cells < 0.01 : 0 faces with face twist < 0.02 : 0 faces on cells with determinant < 0.001 : 0 shrinkMeshMedialDistance : Successfully moved mesh shrinkMeshMedialDistance : Finished moving mesh ... Prevented extrusion on 0 coupled patch points during syncPatchDisplacement. truncateDisplacement : Unextruded 0 faces due to nonconsecutive vertices being extruded. truncateDisplacement : Unextruded 0 faces due to stringed edges with inconsistent extrusion. Setting up information for layer truncation ... Checking mesh with layer ... Checking faces in error : faces with face pyramid volume < 1e13 : 0 faces with facedecomposition tet quality < 1e30 : 0 faces with skewness > 4 (internal) or 20 (boundary) : 0 faces with interpolation weights (0..1) < 0.02 : 0 faces with volume ratio of neighbour cells < 0.01 : 0 faces with face twist < 0.02 : 0 faces on cells with determinant < 0.001 : 0 Detected 0 illegal faces (concave, zero area or negative cell pyramid volume) Extruding 3736 out of 4536 faces (82.4%). Removed extrusion at 0 faces. Edge intersection testing: Number of edges : 339036 Number of edges to retest : 0 Number of intersected edges : 60289 Writing 55752 added cells to cellSet addedCells Writing 52016 faces inside added layer to faceSet layerFaces Layer mesh : cells:109064 faces:339036 points:121291 Cells per refinement level: 0 7568 1 2456 2 6988 3 7552 4 2780 5 8004 6 73716 Writing mesh to time 3e07 Wrote mesh in = 5.26 s. Layers added in = 5.26 s. Finished meshing in = 12.6 s. End Last edited by Kryo; September 10, 2012 at 07:34. 

September 11, 2012, 04:22 

#2 
New Member
Jane L
Join Date: May 2012
Posts: 23
Rep Power: 13 
For my current project, I can control that kind of proplem with the following options
resolveFeatureAngle 180; featureAngle 180; I don't know for sure if it helps because you have allready a tall number for featureAngle good luck! 

September 11, 2012, 06:47 

#3  
Member

The featureAngle should be fine, though any number beyond 180 should make no difference than using 180.
but lets have a look at the output: Quote:
Code:
minTetQuality 1e30; Also I highly recommend to reduce the "nLayerIter" to a reasonable number, i.e. 10. Else SHM may get stuck in iterating if it fails to meet your quality settings. Better check the output to see if it does converge. If you want the furthest layer cell to be of equal thickness to the surrounding mesh (finalLayerThickness 1;), then use the following: Code:
... nSmoothSurfaceNormals 50; nSmoothNormals 50; nSmoothThickness 100; maxFaceThicknessRatio 0.8; maxThicknessToMedialRatio 0.9; ... Greetings, Jan
__________________
~~~_/)~~~ Last edited by SirWombat; September 12, 2012 at 03:00. 

September 11, 2012, 17:37 

#4 
New Member
Join Date: Sep 2012
Posts: 8
Rep Power: 13 
thanks a lot SirWombat, that did actually help now nearly all parts of the surface have the layer
Now I can start running some solvers, and see what problems that will bringt forth :P 

September 13, 2012, 06:32 

#5  
Senior Member
Eloïse
Join Date: Jul 2012
Location: Trondheim, Norway
Posts: 113
Rep Power: 13 
Hi Jan,
Could you develop a bit about the reason why you recommend those parameters? What is their actual effect on the layers? This would be great help! Regards, Eloïse Quote:


September 13, 2012, 06:50 

#6 
Member

Hi Eloïse,
it's just what I've been experimenting with and found it to be most suitable for smooth geometries. But I'll try to give an answer anyway: the smoothingparameters should be clear .. they smooth the "layersurface", which consist of all faces between the added layers and the rest of the mesh. The maxFaceThicknessRatio in combination with maxThicknessToMedialRatio have a strong influence on how thick those layercells get in relation to surrounding layer cells, especially towards to the end/edge of the added layer region. If you would like to experiment yourself then switch off all quality controls and try some variations on those "addLayer"parameters. Do this on a small and simple mesh so to get a fast result. You will find it to be enlightening! G Jan
__________________
~~~_/)~~~ 

September 13, 2012, 07:08 

#7 
New Member
Join Date: Sep 2012
Posts: 8
Rep Power: 13 
well here I am again. Its not quite fitting to the thread title, but I didnt want to open another one.
The calculation is now working fine, but now I wanted to ask, is there no adaptive mesh refinement utility in OpenFoam? I am using sonicFoam with Mach 1.6, and have compression shocks, where I would like to refine the mesh automatically where there is a high pressure gradient. But google didnt help me 

September 13, 2012, 07:44 

#8 
Member

sorry I cannot help you with that topic but google "openfoam adaptive mesh refinement" and have a look at the first result: Chalmers compiled a new solver including AMR ... maybe there's a way to do that with sonicFoam as well ...
__________________
~~~_/)~~~ 

September 13, 2012, 10:28 

#9 
New Member
Join Date: Sep 2012
Posts: 8
Rep Power: 13 
so there is no way other than coding something like that myself?


June 29, 2018, 03:44 
addLayers

#10 
New Member
rajat tripathi
Join Date: May 2018
Location: india
Posts: 9
Rep Power: 7 
I am facing issues with addLayers. Is anyone out there?


March 7, 2020, 17:47 

#11  
Senior Member
Ali Shayegh
Join Date: Oct 2015
Posts: 129
Rep Power: 10 
Quote:
Do you know what does minTetQuality mathematically mean? May turning it off produce negative volume cells? Thanks. Ali 

March 10, 2020, 04:27 

#12 
Member
Join Date: Sep 2018
Location: France
Posts: 62
Rep Power: 7 
Hello,
You can have a nice description of the mesh quality criteria on this pdf : https://openfoamwiki.net/images/f/f0...SlidesOFW7.pdf  slide 54 for minTetQuality In my case I have got negative minTetVolume but it does not produce negative volume. I think it is related to the direction of the three vectors (slide 54) that characterized the cell. Cheers 

March 11, 2020, 17:16 

#13  
Senior Member
Ali Shayegh
Join Date: Oct 2015
Posts: 129
Rep Power: 10 
Quote:
Referring to the slide that you have mentioned, since cr is always positive, there is only one possibility that can cause negative minTetQuality, namely negative tv; But when it happens? Since the angle between a and b is always < 180 (this angle is one of the three angles of a triangle), there remains only one possibility for minTetQualituy to be negative, that is, Angle between axb and c > 90. Here we must know how OpenFOAM selects a and b.
Thank you, Ali Last edited by amuzeshi; March 11, 2020 at 23:42. 

February 17, 2022, 08:34 

#14 
Member
George
Join Date: Dec 2020
Posts: 31
Rep Power: 4 
Hello all,
Sorry for bringing up this issue again. Did anyone manage to answer how important minTetQuality is? Anyone able to answer the last remark that Ali made on this post? Best, George 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
[snappyHexMesh] snappyHexMesh generates not planar surface  krzychu111  OpenFOAM Meshing & Mesh Conversion  2  April 23, 2020 17:38 
[snappyHexMesh] Creating multiple multiple cell zones with snappyHexMesh  a newbie in deep water!  divergence  OpenFOAM Meshing & Mesh Conversion  0  January 23, 2019 05:17 
[ICEM] surface mesh merging problem  everest  ANSYS Meshing & Geometry  44  April 14, 2016 07:41 
[Gmsh] Error : Self intersecting surface mesh, computing intersections & Error : Impossible  velan  OpenFOAM Meshing & Mesh Conversion  3  October 22, 2015 12:05 
[snappyHexMesh] snappyHexMesh won't work  zeros everywhere!  sc298  OpenFOAM Meshing & Mesh Conversion  2  March 27, 2011 22:11 