Good skewness values in checkMesh response
Hello everybody, my question is short and (I hope) clear: I think I've understand that the skewness values reported in the checkMesh response are something different than the "traditional" skewness definition (as, for instance, in Fluent or other commercial packages).
So, apart from their real meaning, I just want to know what is the max skewness value below which the overall mesh quality can be considered satisfactory... Thank you in advance V. K. |
Any replies?
|
Any replies?
|
There are two sources of information. Skewness is defined in the code here:
OpenFOAM-1.7.x\src\meshTools\cellQuality\cellQuality.C A picture and a description of how skewness impacts the solution can be found in Dr Jasak's thesis (especially pg. 124): http://powerlab.fsb.hr/ped/kturbo/Op...jeJasakPhD.pdf In words, for a given face, draw a line between the centres of the two cells that share the face. Call this "d". Now find the intersection of d with the face. Call this "fi". Now draw a line between fi and the face center. Call this "m". The skewness is then just mag(m)/mag(d). The cell's skewness is just the max value found after travelling over all the faces in the cell. Mike |
Quote:
Thank you once again V. K. |
Quote:
the skewness reported by checkMesh seems to be calculated in "Foam::primitiveMesh::checkFaceSkewness" (see http://foam.sourceforge.net/docs/cpp/a06916_source.html) which seems to use a different algorithm, anyway it gives me max skewness of 2.4 for a uniform orthogonal hexahedral mesh !!!, any comments on why this is the case? |
see at the code in http://foam.sourceforge.net/docs/cpp/a06916_source.html that the maximum skewness admissible is 4, so 2.4 may be a good value for skewness
|
Thanks Gonzalo, Yes I figured this out, I am a snappyHexMesh user and this was confusing to me because when I was using a maxInternalSkewness=3 in snappyHexMeshDict, it had no effect. Here is the results of hours of my investigation:
If I remember correctly, there was two definitions for Skewness in openfoam, one calculated for cells (src\meshTools\cellQuality\cellQuality.C) and one for faces (Foam:: PrimitiveMesh::checkFaceSkewness in primitiveMeshCheck.C). The later is reported by checkMesh utility, and is greater than one. The one which should be used in snappyHexMeshDict is the former one, whose value is, between 0 and 1. But apparently this is not documented anywhere and as a result the snappyHexMesh users usually use a limit for maxInternalSkewness and maxBoundarySkewness greater than one, which does not cause any trouble but is useless. Correct me if I am wrong here please; I checked these things weeks ago and not thoroughly and I certainly have made mistakes. |
Sorry, but i do not use the snappyHexMesh utility, so i can't hel you with this. I use gmsh for the generation of my meshes :). But if i'm not wrong the limit for the skewness of 4 is the same for faces and cells. But in this page http://www.openfoam.org/docs/user/snappyHexMesh.php (official page of OpenFOAM, there is one table with examples of values of each keyword on the meshQualityControls sub-dictionary of snappyHexMeshDict, but in that puts a value of 4 for maxInternalSkewness (OK) and a value of 20 for maxBoundarySkewness (??), so i don't know.
|
Quote:
I know this thread is very old now - and the info here might be valid for previous versions, but I've noticed a slight mistake for my version of OpenFOAM and just wanted to clarify it in case others read this. For OpenFOAM 2.3.1, the checkMesh utility reports the parameters from /src/OpenFOAM/meshes/polyMesh/polyMeshCheck. I found this out when I wanted to change the output of checkMesh to include a new parameter. So actually the face skewness is calculated in Foam::polyMesh::checkFaceSkewness in polyMeshCheck.C As I said, just including this info to hopefully help anyone who is in the same situation I was! |
Quote:
I actually have the same questions about which skewness I have to input in snappyHexMesh. I am working with the version v1812, so do you think it is still the case ? e.g. working with maxBoundarySkewness and maxInternalSkewness lower than 1 ? Cheers, |
All times are GMT -4. The time now is 00:14. |