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

[Other] Good skewness values in checkMesh response

Register Blogs Community New Posts Updated Threads Search

Like Tree19Likes
  • 2 Post By vkrastev
  • 10 Post By roth
  • 3 Post By gfoam
  • 4 Post By amcloughlin801

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 22, 2010, 07:27
Default Good skewness values in checkMesh response
  #1
Senior Member
 
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20
vkrastev is on a distinguished road
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.
kiddmax and rgd like this.
vkrastev is offline   Reply With Quote

Old   September 22, 2010, 08:57
Default
  #2
Senior Member
 
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20
vkrastev is on a distinguished road
Any replies?
vkrastev is offline   Reply With Quote

Old   September 23, 2010, 09:38
Default
  #3
Senior Member
 
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20
vkrastev is on a distinguished road
Any replies?
vkrastev is offline   Reply With Quote

Old   September 24, 2010, 09:05
Default
  #4
Member
 
Michael Roth
Join Date: Mar 2009
Location: Guelph, Ontario, Canada
Posts: 50
Rep Power: 17
roth is on a distinguished road
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
lth, s.m, hy1112006 and 7 others like this.
roth is offline   Reply With Quote

Old   September 24, 2010, 09:21
Default
  #5
Senior Member
 
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20
vkrastev is on a distinguished road
Quote:
Originally Posted by roth View Post
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
Thank you, your answer is very clear. But, however, following your explanation (and by your own experience), can we consider a max skewness value (from the checkMesh report) of about 1 as a good value for an unstructured mesh (mainly made by tetrahedrons with some amount of prisms)?

Thank you once again

V. K.
vkrastev is offline   Reply With Quote

Old   March 11, 2012, 06:58
Default
  #6
New Member
 
Ali Q Raeini
Join Date: Feb 2010
Posts: 24
Rep Power: 16
aliqasemi is on a distinguished road
Quote:
Originally Posted by roth View Post
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

the skewness reported by checkMesh seems to be calculated in "Foam:rimitiveMesh::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?

Last edited by aliqasemi; March 11, 2012 at 09:34.
aliqasemi is offline   Reply With Quote

Old   April 6, 2012, 21:58
Default
  #7
Senior Member
 
Gonzalo
Join Date: Mar 2011
Location: Argentina
Posts: 122
Rep Power: 16
gfoam is on a distinguished road
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
hy1112006, saeed_hb and vivek05 like this.
gfoam is offline   Reply With Quote

Old   April 7, 2012, 10:35
Default
  #8
New Member
 
Ali Q Raeini
Join Date: Feb 2010
Posts: 24
Rep Power: 16
aliqasemi is on a distinguished road
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.



aliqasemi is offline   Reply With Quote

Old   April 10, 2012, 22:03
Default
  #9
Senior Member
 
Gonzalo
Join Date: Mar 2011
Location: Argentina
Posts: 122
Rep Power: 16
gfoam is on a distinguished road
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.
gfoam is offline   Reply With Quote

Old   April 3, 2016, 22:56
Default
  #10
New Member
 
Aidan
Join Date: Jul 2014
Location: Belfast
Posts: 17
Rep Power: 12
amcloughlin801 is on a distinguished road
Quote:
Originally Posted by aliqasemi View Post
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.


Hi there

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:olyMesh::checkFaceSkewness in polyMeshCheck.C

As I said, just including this info to hopefully help anyone who is in the same situation I was!
amcloughlin801 is offline   Reply With Quote

Old   January 21, 2020, 13:14
Default
  #11
Member
 
Join Date: Sep 2018
Location: France
Posts: 62
Rep Power: 8
john myce is on a distinguished road
Quote:
Originally Posted by amcloughlin801 View Post
Hi there

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:olyMesh::checkFaceSkewness in polyMeshCheck.C

As I said, just including this info to hopefully help anyone who is in the same situation I was!
Hello guys,

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,
john myce 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
[mesh manipulation] Incorrect (as I suppose) calculation of skewness by checkMesh Kirils OpenFOAM Meshing & Mesh Conversion 0 October 31, 2018 08:36
[mesh manipulation] checkMesh Erros after refineMesh mgdenno OpenFOAM Meshing & Mesh Conversion 10 October 14, 2014 06:16
error on a case with cyclic BC after a good checkmesh miles_davis OpenFOAM Running, Solving & CFD 0 September 13, 2011 15:12
[Netgen] Import netgen mesh to OpenFOAM hsieh OpenFOAM Meshing & Mesh Conversion 32 September 13, 2011 06:50
Reference Values Help Sham FLUENT 0 February 26, 2005 09:43


All times are GMT -4. The time now is 02:58.