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

[snappyHexMesh] Multiple sets of layers to gain more control over distribution

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 16, 2021, 12:14
Default Multiple sets of layers to gain more control over distribution
  #1
Member
 
Mike Worth
Join Date: Jun 2019
Posts: 45
Rep Power: 7
MikeWorth is on a distinguished road
I'm trying to insert layers that have a thickness not described by a geometric
series. (I want an initial exponential growth, a plateau, then another exponential growth to finally meet the background cell size)

I thought I had it working by running SHM multiple times in a row, with a series of slightly altered snappyHexMeshDicts, but now everything is crashing when I come to run interFoam (velocities near the interface go very high).

I've stripped things back to try and work out the problem, and have what should be two ways of making essentially the same mesh. This seems to show that running SHM twice is the problem; could anyone suggest why this matters? Is there something subtle going on in the way that SHM pushes the old layers back that might be making a substantial difference? Nothing jumps out at me from checkMesh (although I might not be looking in the right place)


The 'normal' approach like this works:
Code:
addLayersControls
{
    relativeSizes false;

    layers
    {
        "movingpart.*"
        {
            nSurfaceLayers 14;//Calculated using https://openfoamwiki.net/index.php/Scripts/blockMesh_grading_calculation
        }
    }

    // Expansion factor for layer mesh
    expansionRatio 1.258498951;

    firstLayerThickness 5e-6;
But if I try to make almost identical layers in two steps like this it doesn't:

Outer layers (first)
Code:
addLayersControls
{
    relativeSizes false;

    layers 
    {
        "movingpart.*"
        {
            //Calculated using https://openfoamwiki.net/index.php/Scripts/blockMesh_grading_calculation
            nSurfaceLayers 10;
        }
    }

    // Expansion factor for layer mesh
    expansionRatio 1.258498951;

    firstLayerThickness 12.50e-6;
Inner (second)
Code:
addLayersControls
{
    relativeSizes false;

    layers
    {
        "movingpart.*"
        {
            //Calculated using https://openfoamwiki.net/index.php/Scripts/blockMesh_grading_calculation
            nSurfaceLayers 5;
        }
    }

    // Expansion factor for layer mesh
    expansionRatio 1.258498951;

    firstLayerThickness 5e-6;

[Apologies if this counts as cross posting - I've discovered this issue while troubleshooting something I was posting about in the solving sub-forum. A post here on SHM seems much more applicable with what I've now figured out.]

Thanks,
Mike
MikeWorth is offline   Reply With Quote

Old   April 19, 2021, 09:20
Default
  #2
Member
 
Mike Worth
Join Date: Jun 2019
Posts: 45
Rep Power: 7
MikeWorth is on a distinguished road
I've been looking into this further, and have reduced the inner-layers to 4 and the intermediate cell size to 1.258498951; this should notionally create an identical mesh to the 1-step method. Having visually inspected it, it does look incredibly similar, with just subtle and minor differences in the warping as cells are moved away from the surface.

Somehow it still gives very different performance, with artifically high velocities hampering the solution. I've diffed the checkMesh output, which I include below. The differences here all seem incredibly minor - can anyone suggest what might be going on?

Code:
--- ../checkMesh.SHMx1	2021-04-19 09:15:56.378157603 +0000
+++ ../checkMesh.SHMx2	2021-04-19 09:53:57.548388806 +0000
@@ -1,142 +1,142 @@
 /*---------------------------------------------------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  v1912                                 |
 |   \\  /    A nd           | Website:  www.openfoam.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 Build  : _f3950763fe-20191219 OPENFOAM=1912
 Arch   : "LSB;label=32;scalar=64"
 Exec   : checkMesh -allGeometry
 Date   : Apr 19 2021
-Time   : 09:15:54
+Time   : 09:53:56
 Host   : ip-172-31-8-169
-PID    : 5238
+PID    : 20125
 I/O    : uncollated
 Case   : /home/ubuntu/casename
 nProcs : 1
 trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE).
 fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
 allowSystemOperations : Allowing user-supplied system call operations
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 Create time
 
 Using #calc at line 69 in file "/home/ubuntu/casename/system/controlDict"
 Using #codeStream with "/home/ubuntu/casename/dynamicCode/platforms/linux64GccDPInt32Opt/lib/libcodeStream_90540247e08e92844c35514f8198f20ebc47281f.so"
 Using #calc at line 70 in file "/home/ubuntu/casename/system/controlDict"
 Using #codeStream with "/home/ubuntu/casename/dynamicCode/platforms/linux64GccDPInt32Opt/lib/libcodeStream_fae589c14ad73a95fb40be0cd9ce4cbb1179cdeb.so"
 Using #calc at line 72 in file "/home/ubuntu/casename/system/controlDict"
 Using #calc at line 73 in file "/home/ubuntu/casename/system/controlDict"
 Using #codeStream with "/home/ubuntu/casename/dynamicCode/platforms/linux64GccDPInt32Opt/lib/libcodeStream_c5283eb0bd727a9daf6cb00bc145aac9a2439283.so"
 Create mesh for time = 0
 
 Enabling all geometry checks.
 
 Time = 0
 
 Mesh stats
     points:           187080
     internal points:  0
     faces:            365251
     internal faces:   179277
     cells:            90642
     faces per cell:   6.00745791134
     boundary patches: 10
     point zones:      0
     face zones:       4
     cell zones:       4
 
 Overall number of cells of each type:
     hexahedra:     88815
     prisms:        626
     wedges:        0
     pyramids:      0
     tet wedges:    0
     tetrahedra:    0
     polyhedra:     1201
     Breakdown of polyhedra by number of faces:
         faces   number of cells
             6   6
             7   1088
             8   107
 
 Checking topology...
     Boundary definition OK.
     Cell to face addressing OK.
     Point usage OK.
     Upper triangular ordering OK.
     Face vertices OK.
    *Number of regions: 2
     The mesh has multiple regions which are not connected by any face.
   <<Writing region information to "0/cellToRegion"
   <<Writing region 0 with 7200 cells to cellSet region0
   <<Writing region 1 with 83442 cells to cellSet region1
 
 Checking patch topology for multiply connected surfaces...
                    Patch    Faces   Points                  Surface topology Bounding box
                 outerAMI      600     1202  ok (non-closed singly connected) (0.0249762055395 0 -0.00109048468413) (0.0249762055395 0.6 0.00109048468413)
                      top       37       77  ok (non-closed singly connected) (1.0597848687e-75 0.6 -0.0016357270262) (0.0374643083093 0.6 0.0016357270262)
                   bottom       37       77  ok (non-closed singly connected) (0 0 -0.0016357270262) (0.0374643083093 0 0.0016357270262)
                     back    90642    93755  ok (non-closed singly connected) (-4.83868159767e-40 0 -0.0016357270262) (0.0374643083093 0.6 1.00830515897e-43)
                    front    90642    93755  ok (non-closed singly connected) (-4.83868159767e-40 0 -2.11261400988e-41) (0.0374643083093 0.6 0.0016357270262)
                 innerAMI     1348     2698  ok (non-closed singly connected) (0.0249762055395 0 -0.00109048468413) (0.0249762055395 0.6 0.00109048468413)
                  thing      441      883  ok (non-closed singly connected) (0 0.3 -0.000785148938775) (0.0179828672143 0.340000003576 0.000785148938775)
           thing_wetted     1627     3255  ok (non-closed singly connected) (0 0.10000000149 -0.000959626516838) (0.0219790607557 0.3 0.000959626516838)
                 bathWall      325      652  ok (non-closed singly connected) (0.0374643083093 0 -0.0016357270262) (0.0374643083093 0.325 0.0016357270262)
           atmosphereSide      275      552  ok (non-closed singly connected) (0.0374643083093 0.325 -0.0016357270262) (0.0374643083093 0.6 0.0016357270262)
 
 Checking faceZone topology for multiply connected surfaces...
                 FaceZone    Faces   Points                  Surface topology Bounding box
                      top       25       51  ok (non-closed singly connected) (1.0597848687e-75 0.6 -0.00109048468413) (0.0249762055395 0.6 0.00109048468413)
-         centralTopFaces      102      205  ok (non-closed singly connected) (0 0.342870999563 -0.00109048468413) (0.0249762055395 0.343124069787 0.00109048468413)
-      centralBottomFaces      102      205  ok (non-closed singly connected) (0 0.0968728834598 -0.00109048468413) (0.0249762055395 0.0971234991189 0.00109048468413)
+         centralTopFaces      102      205  ok (non-closed singly connected) (0 0.342870810231 -0.00109048468413) (0.0249762055395 0.343123893846 0.00109048468413)
+      centralBottomFaces      102      205  ok (non-closed singly connected) (0 0.0968732213925 -0.00109048468413) (0.0249762055395 0.0971243427523 0.00109048468413)
                   bottom       25       51  ok (non-closed singly connected) (0 0 -0.00109048468413) (0.0249762055395 0 0.00109048468413)
 
 Checking basic cellZone addressing...
                 CellZone        Cells       Points       VolumeBoundingBox
              background         7200        15626 2.04271272065e-05 (0.0249762055395 0 -0.0016357270262) (0.0374643083093 0.6 0.0016357270262)
-          topBlockCells         7033        14532 6.99977663975e-06 (-4.83868159767e-40 0.342870999563 -0.00109048468413) (0.0249762055395 0.6 0.00109048468413)
-      centralBlockCells        73514       151236 3.07632624824e-06 (0 0.0968728834598 -0.00109048468413) (0.0249762055395 0.343124069787 0.00109048468413)
-       bottomBlockCells         2895         6096 2.64138591764e-06 (0 0 -0.00109048468413) (0.0249762055395 0.0971234991189 0.00109048468413)
+          topBlockCells         7032        14530 6.99971599829e-06 (-4.83868159767e-40 0.342870810231 -0.00109048468413) (0.0249762055395 0.6 0.00109048468413)
+      centralBlockCells        73515       151238 3.07638209319e-06 (0 0.0968732213925 -0.00109048468413) (0.0249762055395 0.343123893846 0.00109048468413)
+       bottomBlockCells         2895         6096 2.64139071415e-06 (0 0 -0.00109048468413) (0.0249762055395 0.0971243427523 0.00109048468413)
 
 Checking geometry...
     Overall domain bounding box (-4.83868159767e-40 0 -0.0016357270262) (0.0374643083093 0.6 0.0016357270262)
     Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
     Mesh has 3 solution (non-empty) directions (1 1 1)
-    Wedge back with angle 2.50000000138 degrees
-    Wedge front with angle 2.50000000138 degrees
+    Wedge back with angle 2.50000000133 degrees
+    Wedge front with angle 2.50000000133 degrees
     All edges aligned with or perpendicular to non-empty directions.
-    Boundary openness (1.64702991369e-14 -8.71103408019e-19 2.62100096573e-14) OK.
+    Boundary openness (1.85672186208e-14 -8.50625678685e-19 6.18299811514e-15) OK.
     Max cell openness = 1.53490106268e-15 OK.
     Max aspect ratio = 25.0289312037 OK.
     Minimum face area = 5.44039160854e-11. Maximum face area = 3.35723618435e-06.  Face area magnitudes OK.
     Min volume = 3.38966568599e-15. Max volume = 3.35723618435e-09.  Total volume = 3.31446160121e-05.  Cell volumes OK.
-    Mesh non-orthogonality Max: 25.3896599773 average: 2.69630443086
+    Mesh non-orthogonality Max: 25.386544632 average: 2.69326805544
     Non-orthogonality check OK.
     Face pyramids OK.
-    Max skewness = 0.465880892795 OK.
+    Max skewness = 0.465999415964 OK.
     Coupled point location match (average 0) OK.
     Face tets OK.
     Min/max edge length = 4.99999951583e-06 0.0032714540524 OK.
   <<Writing 488 near (closer than 6.01177408764e-07 apart) points to set nearPoints
     All angles in faces OK.
     Face flatness (1 = flat, 0 = butterfly) : min = 1  average = 1
     All face flatness OK.
-    Cell determinant (wellposedness) : minimum: 0.00809562991112 average: 0.396592299529
+    Cell determinant (wellposedness) : minimum: 0.00809562991112 average: 0.396372492196
     Cell determinant check OK.
- ***Concave cells (using face planes) found, number of cells: 360
-  <<Writing 360 concave cells to set concaveCells
-    Face interpolation weight : minimum: 0.294523453407 average: 0.483772637659
+ ***Concave cells (using face planes) found, number of cells: 358
+  <<Writing 358 concave cells to set concaveCells
+    Face interpolation weight : minimum: 0.294516579567 average: 0.483787294555
     Face interpolation weight check OK.
-    Face volume ratio : minimum: 0.12468161947 average: 0.932602925846
+    Face volume ratio : minimum: 0.124681118055 average: 0.932634914103
     Face volume ratio check OK.
 Calculating AMI weights between owner patch: outerAMI and neighbour patch: innerAMI
 AMI: Creating addressing and weights between 600 source faces and 1348 target faces
 AMI: Patch source sum(weights) min:0.999999999996 max:1 average:1
 AMI: Patch target sum(weights) min:0.999996339997 max:1.0000039496 average:1.00000000146
 
 Failed 1 mesh checks.
 
 End
Thanks,
Mike
MikeWorth 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
3D Multiple layers model (VIV) jordan.c STAR-CCM+ 1 April 10, 2015 08:09
[snappyHexMesh] Layers in snappy collapse in some places of my solid Yuby OpenFOAM Meshing & Mesh Conversion 0 March 8, 2015 16:44
[snappyHexMesh] SnappyHexMesh no layers and no decent mesh for complex geometry pizzaspinate OpenFOAM Meshing & Mesh Conversion 1 February 25, 2015 08:05
[ANSYS Meshing] Inflation Layers around a 90 degree bend that is separated into multiple parts Kaaji1359 ANSYS Meshing & Geometry 2 August 18, 2013 19:57
Inserting Boundary Layers in multiple objects in Gambit for use in FLUENT 3quarters FLUENT 0 July 16, 2010 09:55


All times are GMT -4. The time now is 21:04.