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

[snappyHexMesh] Understanding checkMesh flags

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By DramaDrummer

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 14, 2020, 05:15
Default Understanding checkMesh flags
  #1
Member
 
Join Date: Nov 2018
Posts: 39
Rep Power: 7
MaySea is on a distinguished road
Hello everyone,

I am trying to mesh an .stl geometry of a terrain using snappyHexMesh. I always get three failed 3 mesh checks. I tried playing around with snappyHexMesh dict, changing params, levels of refinement etc. I tried with different, but very similar geometries too - the fails persist.

I think the checkMesh fails correspond to cells with small determinants, small interpolation weights and a large number of concave cells (see below). Are these serious issues, which can affect the simulation? Is there any way I can reduce these errors?

Thank you for any help.

checkMesh log:

Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  6
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 6
Exec   : checkMesh -allGeometry -allTopology -writeSets vtk
Date   : Oct 13 2020
Time   : 20:06:30
Host   : "Node-K"
PID    : 74798
I/O    : uncollated
Case   : /home/jan
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Enabling all (cell, face, edge, point) topology checks.

Enabling all geometry checks.

Reconstructing and writing vtk representation of all faceSets and cellSets.

Time = 0

Mesh stats
    points:           256711
    faces:            742500
    internal faces:   715500
    cells:            243000
    faces per cell:   6
    boundary patches: 6
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     243000
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
    Patch               Faces    Points   Surface topology                   Bounding box
    north               2700     2821     ok (non-closed singly connected)   (3 18 -75) (228 18 0)
    west                2700     2821     ok (non-closed singly connected)   (3 -207 -75) (3 18 0)
    east                2700     2821     ok (non-closed singly connected)   (228 -207 -75) (228 18 0)
    south               2700     2821     ok (non-closed singly connected)   (3 -207 -75) (228 -207 0)
    seabed              8100     8281     ok (non-closed singly connected)   (3 -207 -75) (228 18 -75)
    watersurface        8100     8281     ok (non-closed singly connected)   (3 -207 0) (228 18 0)

Checking geometry...
    Overall domain bounding box (3 -207 -75) (228 18 0)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (0 0 0) OK.
    Max cell openness = 0 OK.
    Max aspect ratio = 1 OK.
    Minimum face area = 6.25. Maximum face area = 6.25.  Face area magnitudes OK.
    Min volume = 15.625. Max volume = 15.625.  Total volume = 3796875.  Cell volumes OK.
    Mesh non-orthogonality Max: 0 average: 0
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0 OK.
    Coupled point location match (average 0) OK.
    Face tets OK.
    Min/max edge length = 2.5 2.5 OK.
    All angles in faces OK.
    Face flatness (1 = flat, 0 = butterfly) : min = 1  average = 1
    All face flatness OK.
    Cell determinant (wellposedness) : minimum: 1 average: 7.5624362
    Cell determinant check OK.
    Concave cell check OK.
    Face interpolation weight : minimum: 0.5 average: 0.5
    Face interpolation weight check OK.
    Face volume ratio : minimum: 1 average: 1
    Face volume ratio check OK.

Mesh OK.

--> FOAM Warning : 
    From function virtual Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
    in file meshes/polyMesh/polyMeshIO.C at line 209
    unexpected consequences.  Proceed with care.
Time = 0.1

Mesh stats
    points:           3972661
    faces:            10586432
    internal faces:   9894514
    cells:            3307679
    faces per cell:   6.1919388
    boundary patches: 8
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     3101754
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     205925
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            6   18315
            9   166995
           12   17270
           15   3291
           18   54

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
  <<Writing 49 cells with two non-boundary faces to set twoInternalFacesCells
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
                   Patch    Faces   Points                  Surface topology Bounding box
                   north     8755     9573  ok (non-closed singly connected) (3 18 -58.4375) (228 18 0)
                    west     8797     9615  ok (non-closed singly connected) (3 -207 -55.625) (3 18 0)
                    east     8537     9364  ok (non-closed singly connected) (228 -207 -51.5625) (228 18 0)
                   south     8735     9535  ok (non-closed singly connected) (3 -207 -55) (228 -207 0)
                  seabed        0        0                        ok (empty)
            watersurface     8100     8281  ok (non-closed singly connected) (3 -207 0) (228 18 0)
            inner   171920   172716  ok (non-closed singly connected) (61.125 -145.4375 -65) (172.375 -42.9375 -47.8125)
            outer   477074   479433  ok (non-closed singly connected) (3 -207 -61.875) (228 18 -47.5)

Checking geometry...
    Overall domain bounding box (3 -207 -65) (228 18 0)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (0 0 0) OK.
    Max cell openness = 1.4210855e-16 OK.
    Max aspect ratio = 1 OK.
    Minimum face area = 0.09765625. Maximum face area = 6.25.  Face area magnitudes OK.
    Min volume = 0.030517578. Max volume = 15.625.  Total volume = 2722901.9.  Cell volumes OK.
    Mesh non-orthogonality Max: 25.239402 average: 7.3277882
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 1 OK.
    Coupled point location match (average 0) OK.
    Face tets OK.
    Min/max edge length = 0.3125 2.5 OK.
  <<Writing 66 near (closer than 0.00032476915 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 average: 11.191574
 ***Cells with small determinant (< 0.001) found, number of cells: 80
  <<Writing 80 under-determined cells to set underdeterminedCells
 ***Concave cells (using face planes) found, number of cells: 187610
  <<Writing 187610 concave cells to set concaveCells
    Face interpolation weight : minimum: 0.33333333 average: 0.48574134
    Face interpolation weight check OK.
    Face volume ratio : minimum: 0.125 average: 0.92514204
    Face volume ratio check OK.

Failed 2 mesh checks.

Time = 0.2

Mesh stats
    points:           3882333
    faces:            10460207
    internal faces:   9894514
    cells:            3307679
    faces per cell:   6.1537776
    boundary patches: 8
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     3011768
    prisms:        30516
    wedges:        0
    pyramids:      0
    tet wedges:    707
    tetrahedra:    4
    polyhedra:     264684
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   35528
            5   23231
            6   18315
            9   166995
           12   17270
           15   3291
           18   54

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
  <<Writing 49 cells with two non-boundary faces to set twoInternalFacesCells
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
                   Patch    Faces   Points                  Surface topology Bounding box
                   north     8755     9525  ok (non-closed singly connected) (3 18 -58.455652) (228 18 0)
                    west     8797     9564  ok (non-closed singly connected) (3 -207 -55.597393) (3 18 0)
                    east     8537     9306  ok (non-closed singly connected) (228 -207 -51.638269) (228 18 0)
                   south     8735     9493  ok (non-closed singly connected) (3 -207 -55.061769) (228 -207 0)
                  seabed        0        0                        ok (empty)
            watersurface     8100     8281  ok (non-closed singly connected) (3 -207 0) (228 18 0)
            inner   119997   135148  ok (non-closed singly connected) (61.085856 -145.45525 -64.949174) (172.391 -42.915422 -47.740826)
            outer   402772   426673  ok (non-closed singly connected) (3 -207 -62.004308) (228 18 -47.539548)

Checking geometry...
    Overall domain bounding box (3 -207 -64.949174) (228 18 0)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (2.1007095e-16 -3.9428484e-16 6.8411161e-15) OK.
    Max cell openness = 3.3669428e-16 OK.
    Max aspect ratio = 6.0584738 OK.
    Minimum face area = 0.003711052. Maximum face area = 6.25.  Face area magnitudes OK.
    Min volume = 0.0033155046. Max volume = 15.625.  Total volume = 2722886.6.  Cell volumes OK.
    Mesh non-orthogonality Max: 49.70893 average: 8.0721646
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.0676391 OK.
    Coupled point location match (average 0) OK.
    Face tets OK.
    Min/max edge length = 0.064576945 2.5 OK.
   *There are 114 faces with concave angles between consecutive edges. Max concave angle = 39.989147 degrees.
  <<Writing 114 faces with concave angles to set concaveFaces
    Face flatness (1 = flat, 0 = butterfly) : min = 0.42179591  average = 0.99936345
   *There are 7 faces with ratio between projected and actual area < 0.8
    Minimum ratio (minimum flatness, maximum warpage) = 0.42179591
  <<Writing 7 warped faces to set warpedFaces
    Cell determinant (wellposedness) : minimum: 0 average: 11.203786
 ***Cells with small determinant (< 0.001) found, number of cells: 78
  <<Writing 78 under-determined cells to set underdeterminedCells
 ***Concave cells (using face planes) found, number of cells: 117221
  <<Writing 117221 concave cells to set concaveCells
    Face interpolation weight : minimum: 0.10785262 average: 0.47880828
    Face interpolation weight check OK.
    Face volume ratio : minimum: 0.03767778 average: 0.88959521
    Face volume ratio check OK.

Failed 2 mesh checks.

--> FOAM Warning : 
    From function virtual Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
    in file meshes/polyMesh/polyMeshIO.C at line 209
    unexpected consequences.  Proceed with care.
Time = 0.3

Mesh stats
    points:           4434958
    faces:            12049190
    internal faces:   11480750
    cells:            3825811
    faces per cell:   6.1503143
    boundary patches: 7
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     3470781
    prisms:        31785
    wedges:        489
    pyramids:      0
    tet wedges:    1136
    tetrahedra:    7
    polyhedra:     321613
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   35534
            5   23454
            6   18666
            7   43903
            8   12446
            9   166995
           12   17270
           15   3291
           18   54

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
                   Patch    Faces   Points                  Surface topology Bounding box
                   north     9492    10263  ok (non-closed singly connected) (3 18 -58.455652) (228 18 0)
                    west     9523    10291  ok (non-closed singly connected) (3 -207 -55.597393) (3 18 0)
                    east     9272    10041  ok (non-closed singly connected) (228 -207 -51.638269) (228 18 0)
                   south     9463    10222  ok (non-closed singly connected) (3 -207 -55.061769) (228 -207 0)
            watersurface     8100     8281  ok (non-closed singly connected) (3 -207 0) (228 18 0)
            inner   119824   134957  ok (non-closed singly connected) (61.085856 -145.45525 -64.949174) (172.391 -42.915422 -47.740826)
            outer   402766   426666  ok (non-closed singly connected) (3 -207 -62.004308) (228 18 -47.539548)

Checking geometry...
    Overall domain bounding box (3 -207 -64.949174) (228 18 0)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-3.0526651e-16 -7.7912469e-17 6.7462829e-15) OK.
    Max cell openness = 4.4007894e-16 OK.
    Max aspect ratio = 21.250234 OK.
    Minimum face area = 0.0022544199. Maximum face area = 6.3046713.  Face area magnitudes OK.
    Min volume = 0.00033319542. Max volume = 15.734217.  Total volume = 2722885.9.  Cell volumes OK.
    Mesh non-orthogonality Max: 54.938167 average: 8.1430486
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.0302367 OK.
    Coupled point location match (average 0) OK.
    Face tets OK.
    Min/max edge length = 0.031248835 2.5246861 OK.
   *There are 87 faces with concave angles between consecutive edges. Max concave angle = 39.989147 degrees.
  <<Writing 87 faces with concave angles to set concaveFaces
    Face flatness (1 = flat, 0 = butterfly) : min = 0.40912486  average = 0.99944236
   *There are 7 faces with ratio between projected and actual area < 0.8
    Minimum ratio (minimum flatness, maximum warpage) = 0.40912486
  <<Writing 7 warped faces to set warpedFaces
    Cell determinant (wellposedness) : minimum: 0.00055376438 average: 10.507544
 ***Cells with small determinant (< 0.001) found, number of cells: 7
  <<Writing 7 under-determined cells to set underdeterminedCells
 ***Concave cells (using face planes) found, number of cells: 116675
  <<Writing 116675 concave cells to set concaveCells
    Face interpolation weight : minimum: 0.02649869 average: 0.46635544
 ***Faces with small interpolation weight (< 0.05) found, number of faces: 291
  <<Writing 291 faces with low interpolation weights to set lowWeightFaces
    Face volume ratio : minimum: 0.012028289 average: 0.86194696
    Face volume ratio check OK.

Failed 3 mesh checks.

End
MaySea is offline   Reply With Quote

Old   October 14, 2020, 05:16
Default snappyHexMeshDict
  #2
Member
 
Join Date: Nov 2018
Posts: 39
Rep Power: 7
MaySea is on a distinguished road
snappyHexMeshDict:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.6                                   |
|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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


// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces are used
// - to specify refinement for any mesh cell intersecting it
// - to specify refinement for any mesh cell inside/outside/near
// - to 'snap' the mesh boundary to the surface
geometry
{
    2019inner.stl
    {
        type triSurfaceMesh;
        name inner;
    }
   2019outer.stl
    {
        type triSurfaceMesh;
        name outer;
    }

};



// Settings for the castellatedMesh generation.
castellatedMeshControls

// ALL SET TO DEFAULT AS IGLOO TUTORIAL IN OPENFOAM 2.1.0

{

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

    // While refining maximum number of cells per processor. This is basically
    // the number of cells that fit on a processor. If you choose this too small
    // it will do just more refinement iterations to obtain a similar mesh.
    maxLocalCells 1500000;//was1000000

    // Overall cell limit (approximately). Refinement will stop immediately
    // upon reaching this number so a refinement level might not complete.
    // Note that this is the number of cells before removing the part which
    // is not 'visible' from the keepPoint. The final number of cells might
    // actually be a lot less.
    maxGlobalCells 3000000; //was2000000

    // The surface refinement loop might spend lots of iterations refining just a
    // few cells. This setting will cause refinement to stop if <= minimumRefine
    // are selected for refinement. Note: it will at least do one iteration
    // (unless the number of cells to refine is 0)
    minRefinementCells 100; 



    // Number of buffer layers between different levels.
    // 1 means normal 2:1 refinement restriction, larger means slower
    // refinement.
    nCellsBetweenLevels 1; 



    // Explicit feature edge refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    // Specifies a level for any cell intersected by its edges.
    // This is a featureEdgeMesh, read from constant/triSurface for now.
    features
    (
        //{
        //    file "someLine.eMesh";
        //    level 2;
        //}
    );




    // Surface based refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~

    // Specifies two levels for every surface. The first is the minimum level,
    // every cell intersecting a surface gets refined up to the minimum level.
    // The second level is the maximum level. Cells that 'see' multiple
    // intersections where the intersections make an
    // angle > resolveFeatureAngle get refined up to the maximum level.

    refinementSurfaces
    {
       inner

        {
            // Surface-wise min and max refinement level
            level (2 3); // 4 means 0.15625 m,  3 means 31.25 cm
        }
		
		outer
		{
			level (2 3);
		}
    }

    // Resolve sharp angles
    resolveFeatureAngle 30; 


    // Region-wise refinement
    // ~~~~~~~~~~~~~~~~~~~~~~

    // Specifies refinement level for cells in relation to a surface. One of
    // three modes
    // - distance. 'levels' specifies per distance to the surface the
    //   wanted refinement level. The distances need to be specified in
    //   descending order.
    // - inside. 'levels' is only one entry and only the level is used. All
    //   cells inside the surface get refined up to the level. The surface
    //   needs to be closed for this to be possible.
    // - outside. Same but cells outside.

    refinementRegions
    {
    	   inner
         {
            mode distance;
             levels ((2 3)(15 2)(30 1)); //was ((2 4)(10 3)(30 2))
         } 
           outer
         {
            mode distance;
             levels ((2 3)(15 2)(30 1)); // was ((2 3)(5 2)(30 1))
         } 

    }


    // Mesh selection
    // ~~~~~~~~~~~~~~

    // After refinement patches get added for all refinementSurfaces and
    // all cells intersecting the surfaces get put into these patches. The
    // section reachable from the locationInMesh is kept.

    // NOTE: This point should never be on a face, always inside a cell, even
    // after refinement.
    locationInMesh (100 10 -20);

    // Whether any faceZones (as specified in the refinementSurfaces)
    // are only on the boundary of corresponding cellZones or also allow
    // free-standing zone faces. Not used if there are no faceZones.
    allowFreeStandingZoneFaces true;
                     
}



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

    //- Relative distance for points to be attracted by surface feature point
    //  or edge. True distance is this factor times local
    //  maximum edge length.
    tolerance 4.0; //was 4

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

    //- Maximum number of snapping relaxation iterations. Should stop
    //  before upon reaching a correct mesh.
    nRelaxIter 5; //was 5
}



// Settings for the layer addition.
addLayersControls
{
    relativeSizes true;

    // Per final patch (so not geometry!) the layer information
    layers
    {
        inner
        {
            nSurfaceLayers 1; 
        }
		
		outer
        {
            nSurfaceLayers 1; 
        }
    }

    // Expansion factor for layer mesh
    expansionRatio 1.0; //was 1

    //- Wanted thickness of final added cell layer. If multiple layers
    //  is the
    //  thickness of the layer furthest away from the wall.
    //  Relative to undistorted size of cell outside layer.
    finalLayerThickness 0.2;

    //- Minimum thickness of cell layer. If for any reason layer
    //  cannot be above minThickness do not add layer.
    //  Relative to undistorted size of cell outside layer.
    minThickness 0.1;

    //- If points get not extruded do nGrow layers of connected faces that are
    //  also not grown. This helps convergence of the layer addition process
    //  close to features.
    nGrow 0;


    // Advanced settings

    //- When not to extrude surface. 0 is flat surface, 90 is when two faces
    //  make straight angle.
    featureAngle 60; //was 30

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

    // Number of smoothing iterations of surface normals
    nSmoothSurfaceNormals 10; //was 20

    // Number of smoothing iterations of interior mesh movement direction
    nSmoothNormals 10; //30 

    // Smooth layer thickness over surface patches
    nSmoothThickness 10;

    // Stop layer growth on highly warped cells
    maxFaceThicknessRatio 0.5;

    // Reduce layer growth where ratio thickness to medial
    // distance is large
    maxThicknessToMedialRatio 0.3;

    // Angle used to pick up medial axis points
    minMedianAxisAngle 90;

    // Create buffer region for new layer terminations
    nBufferCellsNoExtrude 0;

    // Overall max number of layer addition iterations
    nLayerIter 50;
}



// Generic mesh quality settings. At any undoable phase these determine
// where to undo.
meshQualityControls
{
    //- Maximum non-orthogonality allowed. Set to 180 to disable.
    maxNonOrtho 55;

    //- Max skewness allowed. Set to <0 to disable.
    maxBoundarySkewness 10; //was 10
    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 40;

    //- 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 very negative number (e.g. -1E30) to disable.
    minVol 1e-13;

    //- Minimum quality of the tet formed by the face-centre
    //  and variable base point minimum decomposition triangles and
    //  the cell centre.  Set to very negative number (e.g. -1E30) to
    //  disable.
    //     <0 = inside out tet,
    //      0 = flat tet
    //      1 = regular tet
    minTetQuality 1e-30;

    //- 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.05;

    //- 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

// Flags for optional output
// 0 : only write final meshes
// 1 : write intermediate meshes
// 2 : write volScalarField with cellLevel for postprocessing
// 4 : write current intersections as .obj files
debug 0;


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


// ************************************************************************* //
MaySea is offline   Reply With Quote

Old   October 16, 2020, 03:39
Default
  #3
Senior Member
 
Tom Fahner
Join Date: Mar 2009
Location: Breda, Netherlands
Posts: 634
Rep Power: 32
tomf will become famous soon enoughtomf will become famous soon enough
Send a message via MSN to tomf Send a message via Skype™ to tomf
Hi Jan,

You ran the checkMesh with the -allGeometry and -allTopology options. This typically runs more checks (warping, undetermined cells, face/volume ratios etc.). My experience is that for 99 % of the cases those do not affect the results of the simulations. If you run checkMesh without these options you should get the Mesh OK message.

Most important checks are up to part:
Code:
Coupled point location match (average 0) OK.
I would not spend too much time worrying about these issues. In previous versions the concave cells created issues for Lagrangian simulations, but that was also fixed in more recent versions.

Maybe someone knows settings in snappy to fix these, but I would happily start simulations with this mesh.

Cheers,
Tom
tomf is offline   Reply With Quote

Old   October 16, 2020, 04:29
Default
  #4
Member
 
Join Date: Nov 2018
Posts: 39
Rep Power: 7
MaySea is on a distinguished road
Thanks a lot for the reply, Tom.

Cheers,
Jan
MaySea is offline   Reply With Quote

Old   October 27, 2020, 11:58
Default
  #5
New Member
 
Kevin
Join Date: Nov 2019
Location: Bremen, Germany
Posts: 10
Rep Power: 6
DramaDrummer is on a distinguished road
Hi Jan,


as Tom already pointed out, most of the time it is not crucial to have a perfect mesh without any checkMesh failures. However, especially in lagrangian solvers it can make a difference. Also, a falue like the non-orthogonality is way more important then, for example, the TriangleTwist.

When looking at your snappyHexMeshDict I recognized your "tolerance" in snapping being quite high. This can lead to severe distortion of the cells. A value of 1.5 is quite common. Anyways, if your simulation runs properly and residuals look good, everythings fine. For a detailed explanation of snappy and the mesh quality parameters, see:
https://openfoamwiki.net/images/f/f0...SlidesOFW7.pdf


All the best
Kevin
MaySea likes this.
DramaDrummer is offline   Reply With Quote

Reply

Tags
checkmesh, snappyhexmesh, terrain mesh


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] CheckMesh vs CheckMesh -allGeometry -allTopology Nagesh Atreyas OpenFOAM Meshing & Mesh Conversion 2 June 25, 2019 04:55
checkMesh / mesh errors andybond13 OpenFOAM Pre-Processing 0 June 10, 2015 13:05
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 18 March 3, 2015 05:36
[mesh manipulation] checkMesh Erros after refineMesh mgdenno OpenFOAM Meshing & Mesh Conversion 10 October 14, 2014 05:16
checkMesh Errors after refineMesh mgdenno OpenFOAM 0 July 30, 2012 21:39


All times are GMT -4. The time now is 13:09.