|
[Sponsors] |
[snappyHexMesh] snappyHexMesh does not detect highly skewed faces? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 31, 2021, 12:16 |
snappyHexMesh does not detect highly skewed faces?
|
#1 |
New Member
Pedro Pacheco
Join Date: Dec 2019
Location: Portugal
Posts: 10
Rep Power: 6 |
Hello all,
I'm doing LES of a gas-solid cyclone, and have been meshing with snappyHexMesh for some time now. I can usually wrestle it into behaving properly. This time, however, I was generating the second mesh for a grid convergence study and am having some issues. As you can see in the snappyHexMesh output below (truncated due to character limit), the mesh generation is completed with apparently good mesh quality statistics: Code:
Moving mesh ... 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 : 7 faces with face-decomposition tet quality < 1e-15 : 104 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 : 4 faces on cells with determinant < 0.001 : 0 Iteration 1 Moving mesh using displacement scaling : min:0.75 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 1 faces with face-decomposition tet quality < 1e-15 : 80 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 : 6 faces on cells with determinant < 0.001 : 0 Iteration 2 Moving mesh using displacement scaling : min:0.5625 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 71 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 : 8 faces on cells with determinant < 0.001 : 0 Iteration 3 Moving mesh using displacement scaling : min:0.421875 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 63 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 : 8 faces on cells with determinant < 0.001 : 0 Iteration 4 Moving mesh using displacement scaling : min:0.3164062 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 52 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 : 9 faces on cells with determinant < 0.001 : 0 Iteration 5 Moving mesh using displacement scaling : min:0.2373047 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 50 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 : 5 faces on cells with determinant < 0.001 : 0 Iteration 6 Moving mesh using displacement scaling : min:0.1779785 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 42 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 : 5 faces on cells with determinant < 0.001 : 0 Iteration 7 Moving mesh using displacement scaling : min:0.1334839 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 34 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 : 3 faces on cells with determinant < 0.001 : 0 Iteration 8 Moving mesh using displacement scaling : min:0.1001129 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 31 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 : 2 faces on cells with determinant < 0.001 : 0 Iteration 9 Moving mesh using displacement scaling : min:0.07508469 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 26 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 : 1 faces on cells with determinant < 0.001 : 0 Iteration 10 Displacement scaling for error reduction set to 0. Moving mesh using displacement scaling : min:0.05631351 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 21 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 : 2 faces on cells with determinant < 0.001 : 0 Iteration 11 Moving mesh using displacement scaling : min:0 max:1 Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 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 Successfully moved mesh Moved mesh in = 1.85 s Repatching faces according to nearest surface ... Repatched 44 faces in = 0.12 s Edge intersection testing: Number of edges : 8061436 Number of edges to retest : 1315605 Number of intersected edges : 245918 Merging 68024 sets of faces. Edge intersection testing: Number of edges : 7987025 Number of edges to retest : 273906 Number of intersected edges : 171508 Undo iteration 0 ---------------- Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 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 Merging all points on surface that - are used by only two boundary faces and - make an angle with a cosine of more than 0.8660254. Removing 62645 straight edge points ... Edge intersection testing: Number of edges : 7987025 Number of edges to retest : 268859 Number of intersected edges : 171507 Undo iteration 0 ---------------- Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 1 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 error faces on boundaries that have been merged. These will be restored to their original faces. Detected 1 error faces in mesh. Restoring neighbours of faces in error. Edge intersection testing: Number of edges : 7987025 Number of edges to retest : 46 Number of intersected edges : 171507 Removing zero-sized patches: defaultFaces type patch at position 0 Snapped mesh : cells:2632320 faces:7987025 points:2730382 Cells per refinement level: 0 10816 1 1102847 2 1518657 Writing mesh to time 2e-06 Wrote mesh in = 2.95 s. Mesh snapped in = 24.06 s. Checking final mesh ... Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 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 Finished meshing without any errors Finished meshing in = 95.09 s. End Finalising parallel run Code:
Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 2730382 faces: 7987025 internal faces: 7815514 cells: 2632320 faces per cell: 6.003274 boundary patches: 3 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 2537958 prisms: 56258 wedges: 0 pyramids: 0 tet wedges: 62 tetrahedra: 0 polyhedra: 38042 Breakdown of polyhedra by number of faces: faces number of cells 4 6203 5 5077 6 7210 7 120 8 130 9 11396 10 22 11 126 12 7512 13 42 14 18 15 178 16 2 17 6 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology inlet 213 238 ok (non-closed singly connected) outlet 190 242 ok (non-closed singly connected) wall 171108 177853 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-495.0089 -100.0102 0) (676.3089 100.0104 1249.1) Mesh has 3 geometric (non-empty/wedge) directions (1 1 1) Mesh has 3 solution (non-empty) directions (1 1 1) Boundary openness (-1.944183e-16 2.458072e-16 2.825263e-16) OK. Max cell openness = 3.391678e-16 OK. Max aspect ratio = 8.192438 OK. Minimum face area = 0.02930353. Maximum face area = 26.57967. Face area magnitudes OK. Min volume = 0.1357258. Max volume = 126.0548. Total volume = 1.653261e+07. Cell volumes OK. Mesh non-orthogonality Max: 59.83755 average: 3.923171 Non-orthogonality check OK. Face pyramids OK. ***Max skewness = 14.59115, 6 highly skew faces detected which may impair the quality of the results <<Writing 6 skew faces to set skewFaces Coupled point location match (average 0) OK. Failed 1 mesh checks. End How can I solve this given that snappyHexMesh does not recognize the problem? I have changed every parameter that I can think of (including maxSkewness), to no avail... Any help? EDIT: Here's the snappyHexMeshDict, in case you find it useful for diagnosis (truncated due to character limit): Code:
castellatedMesh true; snap true; addLayers false; (...) castellatedMeshControls { maxLocalCells 1000000; maxGlobalCells 30000000; minRefinementCells 0; maxLoadUnbalance 0.10; nCellsBetweenLevels 2; features ( ); refinementSurfaces { inlet { level (0 0); patchInfo { type patch; } } outlet { level (0 0); patchInfo { type patch; } } wall { level (1 1); patchInfo { type wall; } } } resolveFeatureAngle 30; refinementRegions { box1 { mode inside; levels ((1 1)); } box2 { mode inside; levels ((1 1)); } cyl { mode inside; levels ((2 2)); } /* refinementBox_cyc { mode inside; levels ((0.24 3)); } */ } locationInMesh (0 0 10); allowFreeStandingZoneFaces false; } snapControls { nSmoothPatch 5; tolerance 5; nSolveIter 50; nRelaxIter 10; nFeatureSnapIter 10; implicitFeatureSnap true; explicitFeatureSnap false; multiRegionFeatureSnap false; } (...) meshQualityControls { #include "meshQualityDict" nSmoothScale 4; errorReduction 0.75; //maxSkewness 4; //maxNonOrtho 65; } writeFlags ( scalarLevels layerSets layerFields // write volScalarField for layer coverage ); mergeTolerance 1e-6; // ************************************************************************* // Last edited by ptpacheco; January 1, 2022 at 07:48. Reason: Added sHMdict |
|
January 4, 2022, 13:37 |
|
#2 |
Senior Member
Claudio Boezio
Join Date: May 2020
Location: Europe
Posts: 137
Rep Power: 7 |
I'm experiencing a similar problem, where cells at the edge of the domain get distorted. The opposite case might also be true, as I observe sHM reporting thousands of cells with faces with bad determinant, but then checkMesh reports an error-free grid. I trust checkMesh more than I do sHM. A few things you can try:
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
decomposePar problem: Cell 0contains face labels out of range | vaina74 | OpenFOAM Pre-Processing | 37 | July 20, 2020 06:38 |
[snappyHexMesh] Layers not growing at all | zonda | OpenFOAM Meshing & Mesh Conversion | 12 | June 6, 2020 12:28 |
[Other] Mesh Importing Problem | cuteapathy | ANSYS Meshing & Geometry | 2 | June 24, 2017 06:29 |
Cluster ID's not contiguous in compute-nodes domain. ??? | Shogan | FLUENT | 1 | May 28, 2014 16:03 |
[Commercial meshers] fluentMeshToFoam multidomain mesh conversion problem | Attesz | OpenFOAM Meshing & Mesh Conversion | 12 | May 2, 2013 11:52 |