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

Correction procedure on a non-orthogonal skewed Mesh

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 18, 2017, 09:05
Default Correction procedure on a non-orthogonal skewed Mesh
  #1
New Member
 
Mohamed Elshahat Ouda
Join Date: May 2010
Posts: 29
Rep Power: 16
me.ouda is on a distinguished road
Dear All,

I need your help to understand the procedure to apply the required corrections for both non-orthogonality and skewness in OpenFOAM both from theoretical and implementation point of view. I'll illustrate my understanding from theoretical point of view to discuss it. If it is correct we can proceed to the implementation aspects.

Image below illustrate a skewed non-orthogonal mesh



The discretized diffusion term in cell P can be written as:

\sum\limits_{faces} {{\Gamma _f}} {(\nabla \phi )_f}.{\bf S_f}

On a non orthogonal mesh, the following partitioning for face normal vector is usually done:

{\bf S_f} = \bf\Delta  + \bf k

\therefore {(\nabla \phi )_f}.{\bf S_f}={(\nabla \phi )_f}.\bf\Delta+{(\nabla \phi )_f}.\bf k ........ (1)

Where the first term of the previous equation is the orthogonal contribution which evaluated implicitly, and the second term is the non-orthogonality correction term which evaluated explicitly in a deferred manner. To calculate those terms we start by interpolating the the face variable:

\phi _m=g_c{(\phi )_P}+(1-g_c){ \phi )_N}

g_c={{\left| {{d_{mN}}} \right|} \over {\left| {{d_{PN}}} \right|}}

\phi _f=\phi _m+{(\nabla \phi )_m}.{\bf m} ........ (2)

Where the last term in the previous equation is the skewness correction. Taking the gradient of the last equation we get:

{(\nabla \phi )_f}={(\nabla \phi )_m}+\nabla ({(\nabla \phi )_m}.{\bf m})

Then substituting in equation (1) we get:

{(\nabla \phi )_f}.{\bf S_f}={(\nabla \phi )_m}.\bf\Delta+{(\nabla \phi )_m}.\bf k+\nabla ({(\nabla \phi )_m}.{\bf m}).{\bf S_f} ........ (3)

Equation (3) should be the final form. Different terms in this equation are calculated as follows:

First term is calculated implicitly:

{(\nabla \phi )_m}.\bf\Delta={{{\phi _N} - {\phi _P}} \over {\left| d_{PN} \right|}}\left| \Delta  \right|

Second term is the non-orthogonality correction term. This term is evaluated explicitly in a deferred manner. This means that the face gradient is evaluated explicitly based on the current cell centred gradient as:

{(\nabla \phi )_m}=g_c{(\nabla \phi )_P}+(1-g_c){(\nabla \phi )_N}

The cell centred gradient itself is calculated explicitly using e.g. Gauss theory as:

{(\nabla \phi )_P} ={1 \over {{V_p}}} \sum\limits_{faces} {{\phi _f}{S_f}}
In the previous equation the variable value at face is calculated using equation (2) (obviously many loops are needed).

I've no clue how to evaluate the third term in equation (3)

So first, is this solution correct theoretically? Is it the same as implemented in OpenFOAM? and what about the third term?

Best regards.

Last edited by me.ouda; January 18, 2017 at 16:59.
me.ouda 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
sliding mesh problem in CFX Saima CFX 46 September 11, 2021 07:38
[snappyHexMesh] Snappyhex mesh: poor inlet mesh Swagga5aur OpenFOAM Meshing & Mesh Conversion 1 December 3, 2016 16:59
[mesh manipulation] Importing Multiple Meshes thomasnwalshiii OpenFOAM Meshing & Mesh Conversion 18 December 19, 2015 18:57
[GAMBIT] how to generate orthogonal mesh using GAMBIT? ivanbuz ANSYS Meshing & Geometry 8 October 21, 2009 03:41
Convergence moving mesh lr103476 OpenFOAM Running, Solving & CFD 30 November 19, 2007 14:09


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