CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Mesh skewness correction (https://www.cfd-online.com/Forums/openfoam-solving/109609-mesh-skewness-correction.html)

stainboy November 21, 2012 15:44

Mesh skewness correction
 
Dear Foamers,

I have a question related to fvSchemes and interpolation schemes. I have read that mesh skewness affecs interpolation calculation. Is there a discretisation scheme which may help correcting this issue. I'm curious about skewLinear (Linear with skewness correction) from Numerical schemes. Does it somehow help with the calculations on skewed mesh?
Does skewCorrected is the same scheme in OF 2.1.1?

How to use it? Because wehn I want to put it in fvSchemes
Code:

interpolationSchemes
{
    default skewCorrected;
}

OF throws an error "Discretisation scheme not specified".

Thank you in advance for your help.
Jakub.

malaboss October 23, 2013 14:07

Hi,

I have almost the same issue : how to use the skewness correction in OpenFOAM.

To me the skewness is critical especially when we do an interpolation. Hence it has to be mentionned in the interpolation schemes.

Plus, it may be used in the div schemes of non surfaceField like U : when we integrate over a cell, we will need to interpolate the field from the center to the surface. I guess for a surfaceField, it is useless.


If then we use :

Code:

interpolationSchemes
{
    default        linear skewCorrected;
}

divSchemes
{
    div(U)          Gauss linear skewCorrected;
}

it will run. But I compared the result with the result simulating Taylor Vertices on an unstructured grid using


Code:

interpolationSchemes
{
    default        linear;
}

divSchemes
{
    div(U)          Gauss linear;
}

And the resulting U and p are exactly the same.

Then I think I don't really understand how this skewness correction work...

stainboy October 23, 2013 14:29

Hey,

Neither do I understand. It would be great to hear little bit about that. Does anyone have some article.

Jakub.

joegi.geo October 24, 2013 09:47

Hi,

Let me put my two cents.

Mesh skeness will reduce the order of face integration. Basically it is the deviation from the face center to the actual face integration point (the intersection between the vector joining two neighboring CV and the common face), and this is already taken care of in OF. You can refer to Hrvoje Jasak phd thesis.

If you have highly skewed cells you can use least squares for gradients calculation in order to reduce the numerical diffusion. Maybe increasing the number of corrector steps will help as well.

jg

RodriguezFatz November 27, 2013 10:09

Quote:

Originally Posted by joegi.geo (Post 458788)
Mesh skeness will reduce the order of face integration. Basically it is the deviation from the face center to the actual face integration point (the intersection between the vector joining two neighboring CV and the common face), and this is already taken care of in OF. You can refer to Hrvoje Jasak phd thesis.

Hi, could you tell me, where in the code and where in the thesis I can see how the skewness correction is applied in OF?

Edit:
Ok, so after some more reading and searching I found the following:
Mesh weights (also used for central differencing in OF) for the cell-to-face interpolation are calculated using this formula:
http://openfoamwiki.net/index.php/Op...on_%28class%29
In the source code one can find the calculation in the "surfaceInterpolation.C" file, function is called "makeWeights()".
Now, obviously this is not just the standard linear weighting, as it is not only the distance of cell centers to the cell face that counts, but also the projection of the vectors on the face normal.
But also in the thesis I can not find any derivation of that fomula, I just found some words about the diffusion correction. Unfortunately, I could not adapt the lines to the convective / face value calculation.

ViktorKL November 9, 2018 06:45

Declaration of skewCorrected schemes
 
1 Attachment(s)
Hello,


Moukalled'16 gives an extensive report on discretization schemes of convective, diffusive, source terms etc, and briefly describes how they are implemented in OpenFOAM. Concerning a skew corrected gradient scheme he indicates the definition as
Code:

gradSchemes
{
    default        Gauss skewCorrected linear;
}

skewCorrected seems to be an optional feature and apparently must be prefixed to the actual discretization scheme. Otherwise, it won't be recognized by OpenFOAM. Also the derivation of mesh weights, which have been mentioned in this thread by RodriguezFatz, are discussed.


I worked on an unstructured skew mesh like shown in the picture
Attachment 66684
By using skew correction I was able to reduce truncation errors essentially.



In case you are working on unstructured meshes, I want to draw your attention on this thread. It is a discussion about the consistency of green-gauß and least-square gradient discretization schemes.


Regards,
Viktor


All times are GMT -4. The time now is 01:25.