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

[snappyHexMesh] SHM does not snap my geometry

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 19, 2017, 10:05
Question SHM does not snap my geometry
  #1
New Member
 
Twan Wilting
Join Date: Jun 2017
Location: Netherlands
Posts: 4
Rep Power: 5
Twan is on a distinguished road
Hello Foamers,

I am new to this Forum but I've been working with OpenFOAM for 3/4 weeks now. I did several tutorials before I start working on my own case but apparently there is something I'm still doing wrong and I can not find it.

I would like to mesh a geometry using Snappy, the geometry doesn't need any layers. But even if it needed layers, something goes wrong in the snapping proces.

The geometry itself is confidential, so I can not upload the .stl file. But a picture is added at the end of this Thread. (basically 2 'cylinders' on top of each-other).

My snappyHexMeshDict and log file are given below, I really hope that anyone has an idea or some suggestions.

( In the shmDict addidtional stl files are listed but are not used for now. In the future I would like to add a bathymetry. )

Kind regards,
Twan
Attached Images
File Type: jpg forumfoto1.jpg (94.0 KB, 52 views)
File Type: jpg forumfoto2.jpg (152.4 KB, 53 views)
Attached Files
File Type: txt snappyHexMeshDictforum.txt (15.6 KB, 3 views)
File Type: txt log.txt (31.7 KB, 5 views)
Twan is offline   Reply With Quote

Old   June 20, 2017, 08:38
Default snappyHexMeshDict without Layers
  #2
New Member
 
Twan Wilting
Join Date: Jun 2017
Location: Netherlands
Posts: 4
Rep Power: 5
Twan is on a distinguished road
The txt files are not easy to read:
I hope this gives a better overview:

Code:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// Which of the steps to run
castellatedMesh true;
snap            true;
addLayers       false;


geometry
{
    /*bathymetry.stl
    {
        type triSurfaceMesh;
	name bathymetry;
	appendRegionName false;

    }*/
    
    /*GOEDcylinder.stl
    {
        type triSurfaceMesh;
        name GOEDcylinder;
    }*/
    NEW_velCap_translation.stl
    {
    type    triSurfaceMesh;
    name    NEW_velCap_translation;
    }
    refinementBox
    {   
        type searchableBox
        min (6.85 0.85 -0.25);
        max (7.15 1.15 -0.05);
    
    
    }

};

// Settings for the castellatedMesh generation.
castellatedMeshControls
{

    // Refinement parameters
    // ~~~~~~~~~~~~~~~~~~~~~

    maxLocalCells 10000000;


    maxGlobalCells 10000000;


    minRefinementCells 10;

 
    maxLoadUnbalance 0.10;

   
    nCellsBetweenLevels 5; 




    features
    (
        /*{   
            file "GOEDcylinder.eMesh";
            level 3;
        }
        {   
            file "NEW_velCap_translation.eMesh";
            level 3;
        }*/
    );


    refinementSurfaces
    {
        /*
        bathymetry
        {
           // Surface-wise min and max refinement level
            level (0 0);
        }*/
        NEW_velCap_translation
        {
                level (0 4);
        }

    }

   
    
    resolveFeatureAngle 30;

    refinementRegions
    {
        refinementBox
        {
            mode inside;
        levels ((1E15 3));
        }
    }


 
    limitRegions
    {
    }


   
        
        locationInMesh (6.51 0.51 -0.2);
        
        allowFreeStandingZoneFaces false;
        faceZoneControls
        {
        }
}

// Settings for the snapping.
snapControls
{
    // Number of patch smoothing iterations before finding correspondence
    // to surface
    nSmoothPatch 30;

    // Optional: number of smoothing iterations for internal points on
    // refinement interfaces. This will reduce non-orthogonality on
    // refinement interfaces.
    //nSmoothInternal $nSmoothPatch;

    // Maximum relative distance for points to be attracted by surface.
    // True distance is this factor times local maximum edge length.
    tolerance 4.0;

    // Number of mesh displacement relaxation iterations.
    nSolveIter 30;

    // Maximum number of snapping relaxation iterations. Should stop
    // before upon reaching a correct mesh.
    nRelaxIter 15;

}


meshQualityControls
{
        //- Maximum non-orthogonality allowed. Set to 180 to disable.
    maxNonOrtho 65;

    //- Max skewness allowed. Set to <0 to disable.
    maxBoundarySkewness 20;
    maxInternalSkewness 4;

    //- Max concaveness allowed. Is angle (in degrees) below which concavity
    //  is allowed. 0 is straight face, <0 would be convex face.
    //  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;
    
    minTetQuality 1e-9; //>>>>>>>>>>>ADDED THIS BECAUSE SNM DID NOT RUN WITHOUT IT.<<<<<<<<<<<<<<<<<<<<<<<<<<

    //- Minimum face area. Set to <0 to disable.
    minArea -1;

    //- Minimum face twist. Set to <-1 to disable. dot product of face normal
    //- and face centre triangles normal
    minTwist 0.02;

    //- minimum normalised cell determinant
    //- 1 = hex, <= 0 = folded or flattened illegal cell
    minDeterminant 0.001;

    //- minFaceWeight (0 -> 0.5)
    minFaceWeight 0.02;

    //- minVolRatio (0 -> 1)
    minVolRatio 0.01;

    //must be >0 for Fluent compatibility
    minTriangleTwist -1;

    // Advanced

    //- Number of error distribution iterations
    nSmoothScale 4;
    //- amount to scale back displacement at error points
    errorReduction 0.75;
}

// Advanced

//// Debug flags
//debugFlags
//(
//    mesh            // write intermediate meshes
//    intersections   // write current mesh intersections as .obj files
//    featureSeeds    // write information about explicit feature edge
//                    // refinement
//    attraction      // write attraction as .obj files
//    layerInfo       // write information about layers
//);
//
//// Write flags
//writeFlags
//(
//    scalarLevels    // write volScalarField with cellLevel for postprocessing
//    layerSets       // write cellSets, faceSets of faces in layer
//    layerFields     // write volScalarField for layer coverage
//);

// Merge tolerance. Is fraction of overall bounding box of initial mesh.
// Note: the write tolerance needs to be higher than this.
mergeTolerance 1e-6;

// ************************************************************************* //
Twan is offline   Reply With Quote

Old   June 22, 2017, 07:57
Smile Found the error
  #3
New Member
 
Twan Wilting
Join Date: Jun 2017
Location: Netherlands
Posts: 4
Rep Power: 5
Twan is on a distinguished road
Hello,

I found my (unfortunate) mistake; I started building my caste from a 2D-case, which blockMeshDict I copied and chanced as follows:
I adjusted the coordinates of the vertices and the number of at blocks, e.g. ( 100, 100, 50) instead of ( 100, 1, 50).
Now one thing one also must adjust is the patch for your front and back.
In the 2D case these are 'empty' but should be patches aswell.

Without changing this you can get a nice castellated mesh and snappyHexMesh does some snapping, but you wont get a smooth surface.

I know that if SHM did work at this point (still empty patches) my results obtained would be wrong and eventually I would have found the mistake, but at this moment I did not run the simulations because of the wrong mesh.

I hope that some of you who have the same problem wont need to struggle as long as I did (2 weeks).

Kind Regards,
Twan
Twan is offline   Reply With Quote

Reply

Tags
help needed, snap controls, snappy hex mesh, snappyhesmeshdict

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
[snappyHexMesh] problems with sHM: it doesn't snap! Claudio87 OpenFOAM Meshing & Mesh Conversion 25 July 10, 2020 09:06
[snappyHexMesh] Failed Edge Snap with box geometry and correct feature capture thiagomarinho OpenFOAM Meshing & Mesh Conversion 6 April 16, 2019 05:03
[Workbench] Workbench 18.2 SpaceClaim->Mechanical geometry accuracy/tolerance problem sultzan ANSYS Meshing & Geometry 0 December 13, 2018 18:41
[snappyHexMesh] sHM refinement away from surface nholt OpenFOAM Meshing & Mesh Conversion 1 June 14, 2016 15:36
[snappyHexMesh] sHM with cyclic patch on stl geometry johannesk OpenFOAM Meshing & Mesh Conversion 2 August 21, 2009 10:08


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