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

[snappyHexMesh] SHM Layer Addition Phase

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 9, 2018, 10:08
Default SHM Layer Addition Phase
  #1
New Member
 
JD
Join Date: May 2017
Posts: 24
Rep Power: 5
dickcruz is on a distinguished road
Hello All,

I have a poor understanding of SHM's layer addition phase and I was wondering if someone could help me understand what I'm doing wrong.

What I observe is that when I run SHM with only layer addition set to true, I see it give me a summary like this:

Code:
patch  faces    layers avg thickness[m]
                      near-wall overall
------ -----    ------ --------- -------
patch1 102704   5      2.93e-05  0.000225
patch2 15564    5      4.43e-05  0.000175
patch3 70691    5      2.79e-05  0.000229
Then, it goes through layer addition iteration 0 and then I see a bunch of error faces that looks something like this:

Code:
Layer addition iteration 0
--------------------------

Determining displacement for added points according to pointNormal ...
Detected 0 points with point normal pointing through faces.
Reset displacement at 0 points to average of surrounding points.

displacementMedialAxis : Smoothing using Medial Axis ...
displacementMedialAxis : Reducing layer thickness at 0 nodes where thickness to medial axis distance is large 
displacementMedialAxis : Removing isolated regions ...
- if partially extruded faces make angle < 35
- if exclusively surrounded by non-extruded faces
displacementMedialAxis : Number of isolated points extrusion stopped : 1671
fieldSmoother : Smoothing field ...
    Iteration 0   residual 8.234928e-07
displacementMedialAxis : Moving mesh ...
displacementMedialAxis : Iteration 0
Moving mesh using displacement scaling : min:1  max:1
Checking faces in error :
    non-orthogonality > 55  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 0
    faces with face-decomposition tet quality < 1e-09      : 0
    faces with concavity > 80  degrees                     : 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
displacementMedialAxis : Successfully moved mesh
displacementMedialAxis : Finished moving mesh ...
truncateDisplacement : Unextruded 0 faces due to non-consecutive vertices being extruded.
truncateDisplacement : Unextruded 0 faces due to stringed edges with inconsistent extrusion.

Setting up information for layer truncation ...
Detected 0 baffles across faceZones of type internal


Checking mesh with layer ...
Checking faces in error :
    non-orthogonality > 55  degrees                        : 15148
    faces with face pyramid volume < 1e-13                 : 11
    faces with face-decomposition tet quality < 1e-09      : 2399279
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.02        : 13503
    faces with volume ratio of neighbour cells < 0.01      : 0
    faces with face twist < 0.02                           : 576
    faces on cells with determinant < 0.001                : 338645
Detected 2767162 illegal faces (concave, zero area or negative cell pyramid volume)
Extruding 0 out of 188959 faces (0%). Removed extrusion at 101053 faces.
Added 850983 out of 944795 cells (90.07065%).
Then, Layer addition iteration 1 comes around and it ends like this:

Code:
Checking mesh with layer ...
Checking faces in error :
    non-orthogonality > 55  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 0
    faces with face-decomposition tet quality < 1e-09      : 0
    faces with concavity > 80  degrees                     : 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 0 out of 188959 faces (0%). Removed extrusion at 0 faces.
Added 0 out of 944795 cells (0%).
Edge intersection testing:
    Number of edges             : 2652247
    Number of edges to retest   : 0
    Number of intersected edges : 208633

patch  faces    layers   overall thickness
                        [m]       [%]
------ -----    ------   ---       ---
patch1 102704   0        0         0       
patch2 15564    0        0          0       
patch3 70691    0        0          0
Then, it goes on to do final Balancing and ends.

So, my question is, is there something wrong with the way that I've done my refinementRegions, refinementSurfaces, snapControls, etc.? (Do I have to go coarser, finer, do only refinementRegions, do only explicit edge refinement...?)

OR, does it have something to do with the way that I setup my expansionRatio, finalLayerThickness, minThickness, nGrow and the other layer addition settings.? (Do I switch to absolute sizes?...this seems to get me further along the process)

OR, does it have something to do with my advanced layer addition settings? (I don't even know how to visualize the Median Axis and the Smooth Surface Normals, etc.)

Any help will be appreciated.
dickcruz is offline   Reply With Quote

Old   October 7, 2018, 16:00
Default
  #2
New Member
 
Utkun Malkocoglu
Join Date: Feb 2017
Posts: 7
Rep Power: 5
Malkocoglu is on a distinguished road
I have a similar problem too, even at layer addition iteration 1, I get 0 BL cells on the described patches. My log associated with the problem is below:

Code:
Undo iteration 0
----------------
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 21143767
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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
Masters that need to be restored:2596
Edge intersection testing:
    Number of edges             : 21507365
    Number of edges to retest   : 17244
    Number of intersected edges : 1359747


Undo iteration 1
----------------
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 21147825
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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
Masters that need to be restored:0

Merging all points on surface that
- are used by only two boundary faces and
- make an angle with a cosine of more than 0.996195.

Removing 807 straight edge points ...

Edge intersection testing:
    Number of edges             : 21507365
    Number of edges to retest   : 3209
    Number of intersected edges : 1359747

Undo iteration 0
----------------
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 21147825
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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 error faces on boundaries that have been merged. These will be restored to their original faces.

Detected 21147827 error faces in mesh. Restoring neighbours of faces in error.

Edge intersection testing:
    Number of edges             : 21507365
    Number of edges to retest   : 20528004
    Number of intersected edges : 1359747
Snapped mesh : cells:6725608  faces:21507365  points:8058354
Cells per refinement level:
    0	99250
    1	252287
    2	289967
    3	1005846
    4	5078258
Writing mesh to time 0.00016
Wrote mesh in = 271.07 s.
Mesh snapped in = 20278.5 s.

Shrinking and layer addition phase
----------------------------------

Using mesh parameters 
{
    maxNonOrtho     65;
    maxBoundarySkewness 20;
    maxInternalSkewness 4;
    maxConcave      80;
    minVol          1e-13;
    minTetQuality   1e-15;
    minArea         -1;
    minTwist        0.02;
    minDeterminant  0.001;
    minFaceWeight   0.05;
    minVolRatio     0.01;
    minTriangleTwist -1;
    nSmoothScale    4;
    errorReduction  0.75;
    relaxed
    {
        maxNonOrtho     75;
    }
}



Merging all faces of a cell
---------------------------
    - which are on the same patch
    - which make an angle < 150 degrees
      (cos:-0.866025)
    - as long as the resulting face doesn't become concave by more than 90 degrees
      (0=straight, 180=fully concave)

Merging 54288 sets of faces.

Edge intersection testing:
    Number of edges             : 21450515
    Number of edges to retest   : 221962
    Number of intersected edges : 1302897

Undo iteration 0
----------------
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 21091197
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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
Masters that need to be restored:54286
Edge intersection testing:
    Number of edges             : 21507363
    Number of edges to retest   : 278802
    Number of intersected edges : 1359745


Undo iteration 1
----------------
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 21147825
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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
Masters that need to be restored:0

Merging all points on surface that
- are used by only two boundary faces and
- make an angle with a cosine of more than -0.866025.

No straight edges simplified and no points removed ...

Checking mesh manifoldness ...
Outside of mesh is multiply connected across edges or points.
This is not a fatal error but might cause some unexpected behaviour.


Checking initial mesh ...
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 21147825
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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 21147827 illegal faces (concave, zero area or negative cell pyramid volume)

Doing initial balancing
-----------------------

Found 0 zoned faces to keep together.
Found 0 separated coupled faces to keep together.

Adding in total 0 inter-processor patches to handle extrusion of non-manifold processor boundaries.

Handling points with inconsistent layer specification ...

Handling non-manifold points ...

Checking patch manifoldness ...
Outside of local patch is multiply connected across edges or points at 261 points.
Set displacement to zero for all 261 non-manifold points

Handling feature edges ...

patch  faces    layers avg thickness[m]
                       near-wall overall
-----  -----    ------ --------- -------
l1.stl 91400    16     1.39e-05  0.000233
l2.stl 415018   16     1.39e-05  0.000233
l3.stl 758786   16     1.39e-05  0.000233

Selecting externalDisplacementMeshMover displacementMedialAxis
displacementMedialAxis : Calculating distance to Medial Axis ...
displacementMedialAxis : Smoothing normals ...
    Iteration 0   residual 0.00249261
displacementMedialAxis : Limited walk to 10 steps. Not visited 504388 out of 8306180 points
displacementMedialAxis : Inserting points on patch inlet if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch outlet if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch bottom if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch top if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch backWall.stl if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch frontWall.stl if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch inlet.stl if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch outlet.stl if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch u1.stl if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch u2.stl if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Inserting points on patch u3.stl if angle to nearest layer patch > 30 degrees.
displacementMedialAxis : Smoothing normals in interior ...
    Iteration 0   residual 0.00669688

Layer addition iteration 0
--------------------------

Determining displacement for added points according to pointNormal ...
Detected 0 points with point normal pointing through faces.
Reset displacement at 0 points to average of surrounding points.

displacementMedialAxis : Smoothing using Medial Axis ...
displacementMedialAxis : Reducing layer thickness at 0 nodes where thickness to medial axis distance is large 
displacementMedialAxis : Removing isolated regions ...
displacementMedialAxis : Number of isolated points extrusion stopped : 0
displacementMedialAxis : Smoothing field ...
    Iteration 0   residual 0
    Iteration 10   residual 0
displacementMedialAxis : Moving mesh ...
displacementMedialAxis : Iteration 0
Moving mesh using displacement scaling : min:1  max:1
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 20649922
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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
displacementMedialAxis : Successfully moved mesh
displacementMedialAxis : Finished moving mesh ...
truncateDisplacement : Unextruded 0 faces due to non-consecutive 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 :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 20649922
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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 20649924 illegal faces (concave, zero area or negative cell pyramid volume)
Extruding 0 out of 1265204 faces (0%). Removed extrusion at 0 faces.
Added 0 out of 20243264 cells (0%).
Edge intersection testing:
    Number of edges             : 21507363
    Number of edges to retest   : 0
    Number of intersected edges : 1359745

Doing final balancing
---------------------

Writing 0 added cells to cellSet addedCells
Writing 0 faces inside added layer to faceSet layerFaces

Writing fields with layer information:
    nSurfaceLayers    : actual number of layers
    thickness         : overall layer thickness
    thicknessFraction : overall layer thickness (fraction of desired thickness)


patch  faces    layers   overall thickness
                         [m]       [%]
-----  -----    ------   ---       ---
l1.stl 91400    0        0         0       
l2.stl 415018   0        0         0       
l3.stl 758786   0        0         0       


Removing zero-sized patches:
    inlet type patch at position 0
    outlet type patch at position 1
    front_back type empty at position 2
    bottom type wall at position 3
    top type patch at position 4

Layer mesh : cells:6725608  faces:21507363  points:8058354
Cells per refinement level:
    0	99250
    1	252287
    2	289967
    3	1005846
    4	5078258
Writing mesh to time 0.00024
Wrote mesh in = 459.69 s.
Layers added in = 459.69 s.
Checking final mesh ...
Checking faces in error :
    non-orthogonality > 65  degrees                        : 0
    faces with face pyramid volume < 1e-13                 : 21148970
    faces with face-decomposition tet quality < 1e-15      : 2
    faces with concavity > 80  degrees                     : 0
    faces with skewness > 4   (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 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
Finished meshing with 21148972 illegal faces (concave, zero area or negative cell pyramid volume)
Finished meshing in = 21766.7 s.
End
It is clearly related to 'faces with face pyramid volume'. So, the question is why do I get illegal faces and how can I get rid of from them?

Thanks in advance.

Last edited by Malkocoglu; October 7, 2018 at 17:38.
Malkocoglu is offline   Reply With Quote

Old   October 8, 2018, 03:47
Default
  #3
New Member
 
JD
Join Date: May 2017
Posts: 24
Rep Power: 5
dickcruz is on a distinguished road
Quote:
Originally Posted by Malkocoglu View Post

It is clearly related to 'faces with face pyramid volume'. So, the question is why do I get illegal faces and how can I get rid of from them?

Thanks in advance.
Hello Malkocoglu,

To answer your question, I'm not sure when your illegal faces are being created, but if they're created before your layer addition phase (disable the layer addition phase and run checkMesh), you can extract this set of faces and visualize them in paraView.

Sincerely.
dickcruz is offline   Reply With Quote

Old   October 8, 2018, 05:37
Default
  #4
New Member
 
Utkun Malkocoglu
Join Date: Feb 2017
Posts: 7
Rep Power: 5
Malkocoglu is on a distinguished road
Quote:
Originally Posted by dickcruz View Post
Hello Malkocoglu,

To answer your question, I'm not sure when your illegal faces are being created, but if they're created before your layer addition phase (disable the layer addition phase and run checkMesh), you can extract this set of faces and visualize them in paraView.

Sincerely.
Hello again dickcruz,

They are being created since 'Morphing phase'. If I reduce cell numbers in each 3 dims, 'illegal faces are reduced as well. So, I am still wonder why 'faces with face pyramid volume < 1e-13' and illegal faces' are occurred.

Thanks.

Last edited by Malkocoglu; October 8, 2018 at 09:44.
Malkocoglu is offline   Reply With Quote

Old   November 1, 2018, 07:05
Default
  #5
New Member
 
Ersin
Join Date: Sep 2018
Posts: 9
Rep Power: 4
ersoflow is on a distinguished road
Hi all,

I am trying to add layers to a axis fan which has a complex geometry.
After castellation and snapping with sHM, layer addition became an issue for me.

I have the same (as I can see) problem as dickcruz has.

I guess sHM adds some layers at iteration 0, than after iteration 1, no layer remains at all.

There are some other posts in this forum regarding the problems with layer addition.
I checked them however they do not help with my issue.

Any help or idea will be appriciated.
The following is the related part of my sHMDict file
Code:
addLayersControls
{
    relativeSizes   true;
    layers
    {
        blade_H62X_VP_FAZI_WO_AIS_V0.FAN_BLADE
        {
            nSurfaceLayers  2;
        }
        blade_H62X_VP_FAZI_WO_AIS_V0.FAN_THIN_PARTS
        {
            nSurfaceLayers  3;
        }
    }
    expansionRatio  1.2;
    finalLayerThickness 0.3;
    minThickness    0.1;
    nGrow           1;
    featureAngle    90;
    nRelaxIter      3;
    nSmoothSurfaceNormals 1;
    nSmoothNormals  3;
    nSmoothThickness 10;
    maxFaceThicknessRatio 0.5;
    maxThicknessToMedialRatio 0.3;
    minMedianAxisAngle 80;
    nBufferCellsNoExtrude 0;
    nLayerIter      50;
}
Ersin
ersoflow is offline   Reply With Quote

Reply

Tags
layer addition, layering, snappy, snappy hex mesh, snappyhexmesh

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
y+ = 1 boundary layer mesh with snappyHexMesh Arzed23 OpenFOAM Running, Solving & CFD 1 July 10, 2019 08:56
[snappyHexMesh] No layers in a small gap bobburnquist OpenFOAM Meshing & Mesh Conversion 6 August 26, 2015 09:38
[snappyHexMesh] adding layers on complex terrain surface in SHM potac OpenFOAM Meshing & Mesh Conversion 0 June 5, 2015 11:30
[snappyHexMesh] when it comes to layer addition, snaped edges becomes reset nille_furtado OpenFOAM Meshing & Mesh Conversion 0 October 24, 2012 05:41
[snappyHexMesh] Boundary layer addition at corners bouclette OpenFOAM Meshing & Mesh Conversion 2 July 26, 2011 05:31


All times are GMT -4. The time now is 20:44.