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

[snappyHexMesh] SHM addLayers problem: boundary layers collapsing on a patch

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 14, 2015, 12:59
Default SHM addLayers problem: boundary layers collapsing on a patch
  #1
New Member
 
Join Date: Oct 2015
Posts: 3
Rep Power: 11
DOFuser is on a distinguished road
Dear Foamers,

I have a problem when meshing a T-junction circular pipe. It is an extremely simple geometry, made by two circular cylinder, one normal to the other.

I use snappyHexMesh. The result of "castellating" and "snapping" procedures are ok. The problem arises when I try to add layers on all the walls, since the boundary layer collapses on one patch.

For illustrating my problem I attach the entire domain (Tjunction.jpg), an image showing a correctly meshed patch (correctPatch.jpg), and two images showing the patch where the boundary layer collapses (nonCorrectPatch.jpg and nonCorrectPatchHalf.jpg). Among the three patches, the two ones that are aligned result to be meshed correctly, while the patch of the normal duct is not. As it can be seen the boundary layer collapses in two points over the patch, but the collapsing takes place only just ahead the patch itself, since the layers are added correctly along the remaining part of the duct.

I attach also the settings I put in the SHMdict.

Code:
castellatedMesh true;
snap            true;
addLayers       true;

geometry
{
    Inlet.stl
    {
        type triSurfaceMesh;
        name Inlet;
    }
    Outlet01.stl
    {
    type triSurfaceMesh;
        name Outlet01;
    }
    Outlet02.stl
    {
    type triSurfaceMesh;
        name Outlet02;
    }
    MainDuct.stl
    {
    type triSurfaceMesh;
        name MainDuct;
    }
    SecondaryDuct.stl
    {
    type triSurfaceMesh;
        name SecondaryDuct;
    }
};

castellatedMeshControls
{
    maxLocalCells 4000000;
    maxGlobalCells 20000000;
    minRefinementCells 1;
    maxLoadUnbalance 0.10;
    nCellsBetweenLevels 4;
    features
    (
    {
        file "Inlet.eMesh";
            level 2;           
    }
    {
        file "Outlet01.eMesh"; 
            level 2;               
    }
    {
        file "Outlet02.eMesh";
            level 2;              
    }
    {
        file "MainDuct.eMesh"; 
            level 2;              
    }
    {
        file "SecondaryDuct.eMesh"; 
            level 2;                    
    }
    );

    refinementSurfaces
    {
    Inlet
        {
            level (1 1);
            patchInfo
            {
                type patch;
            }
        }
    Outlet01
    {
            level (1 1);
            patchInfo
            {
                type patch;
            }
        }
    Outlet02
    {
            level (1 1);
            patchInfo
            {
                type patch;
            }
        }
    MainDuct
    {
            level (2 2);
            patchInfo
            {
                type wall;
            }
        }
    SecondaryDuct
    {
            level (2 2);
            patchInfo
            {
                type wall;
            }
        }
    }

    resolveFeatureAngle 30;

    refinementRegions
    {
    }

    locationInMesh (0.5123456 0.12345 5.0111112);
    allowFreeStandingZoneFaces true;
}

snapControls
{
    nSmoothPatch 3;
    tolerance 2.0;
    nSolveIter 300;
    nRelaxIter 5;
    nFeatureSnapIter 10;
    implicitFeatureSnap false;
    explicitFeatureSnap true;
    multiRegionFeatureSnap false;
}

addLayersControls
{
    relativeSizes true;
    layers
    {
    MainDuct
        {
        nSurfaceLayers 8;
        }
    SecondaryDuct
        {
        nSurfaceLayers 8;
        }
    }
    expansionRatio 1.1;
    finalLayerThickness 0.4;
    minThickness 0.0000000001;
    nGrow 0;
    featureAngle 90;
    nRelaxIter 10;
    nSmoothSurfaceNormals 0;
    nSmoothNormals 30;
    nSmoothThickness 30;
    maxFaceThicknessRatio 1.2;
    maxThicknessToMedialRatio 0.9;
    minMedianAxisAngle 80;
    nBufferCellsNoExtrude 0;
    nLayerIter 50;
}
I would be pleased if anyone could help me.

Kind regards
Attached Images
File Type: jpg Tjunction.jpg (120.0 KB, 84 views)
File Type: jpg correctPatch.jpg (183.1 KB, 96 views)
File Type: jpg nonCorrectPatch.jpg (152.2 KB, 106 views)
File Type: jpg nonCorrectPatchHalf.jpg (166.2 KB, 122 views)
DOFuser is offline   Reply With Quote

Old   October 22, 2015, 09:09
Default
  #2
Member
 
Kumar
Join Date: Jun 2013
Posts: 47
Rep Power: 13
kishpishar is on a distinguished road
Hello,

I've noticed similar behavior with non-adequate boundary layer coverage on some patches with tightened quality control parameters, eg. maxNonOrthogonality ~ 40. Perhaps you can examine this aspect. Also I think that nSmoothSurfaceNormals should be at least 3.

-kumar
kishpishar 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
[Other] Wedge patch '*' is not planar LilumDaru OpenFOAM Meshing & Mesh Conversion 7 September 18, 2024 06:52
y+ and u+ values with low-Re RANS turbulence models: utility + testcase florian_krause OpenFOAM 114 August 23, 2023 06:37
Problem in setting Boundary Condition Madhatter92 CFX 12 January 12, 2016 05:39
[mesh manipulation] Importing Multiple Meshes thomasnwalshiii OpenFOAM Meshing & Mesh Conversion 18 December 19, 2015 19:57
Wrong flow in ratating domain problem Sanyo CFX 17 August 15, 2015 07:20


All times are GMT -4. The time now is 06:31.