CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Question about Rhie-Chow Interpolation

Register Blogs Community New Posts Updated Threads Search

Like Tree10Likes
  • 1 Post By sbaffini
  • 1 Post By FMDenaro
  • 2 Post By arjun
  • 1 Post By FMDenaro
  • 3 Post By arjun
  • 1 Post By FMDenaro
  • 1 Post By sbaffini

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 18, 2021, 18:31
Default Question about Rhie-Chow Interpolation
  #1
Member
 
Raphael
Join Date: Nov 2012
Posts: 68
Rep Power: 14
arkie87 is on a distinguished road
I have a question about implementation of rhie-chow interpolation for a collocated scheme. I think I understand how to calculate face velocities using rhie-chow interpolation. My question is where do I need to compute face velocities in this way (vs. just simple/geometric interpolation):

(1) When computing the source term for the pressure correction equation

(2) When computing the coefficients of the neighbors in the momentum equations (which require face mass fluxes)

(3) When computing the coefficients of the neighbors in all scalar transport equations (which also requires face mass fluxes)

I can understand if we need to do this for (1). For (2), it seems to me to not be so relelvant since, the purpose of this is to eliminate a checkerboard pressure field. For (3), it seems even less relevant since it is not even part of the Navier-Stokes equations.
arkie87 is offline   Reply With Quote

Old   January 19, 2021, 05:49
Default
  #2
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,195
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
Never actually coded it, but the general reasoning is the following one:

1) If you write the continuity equation without the RC term it leads to the pressure checkerboard problem, so yes, it is needed here (not sure about the nomenclature tough, if it is a source term or, actually, part of the flux itself)

2&3) Once you put it into your continuity equation, the mass flux that satisfies it is affected as well. You need to use that exact mass flux that satisfies continuity in all the other equations, either velocity component or additional scalars. It kind of is the whole point of using RC. Otherwise those equations would not be solved correctly. Consistency in discretization is the key of this whole matter of the pressure equation.
Moreza7 likes this.
sbaffini is offline   Reply With Quote

Old   January 19, 2021, 06:15
Default
  #3
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by arkie87 View Post
I have a question about implementation of rhie-chow interpolation for a collocated scheme. I think I understand how to calculate face velocities using rhie-chow interpolation. My question is where do I need to compute face velocities in this way (vs. just simple/geometric interpolation):

(1) When computing the source term for the pressure correction equation

(2) When computing the coefficients of the neighbors in the momentum equations (which require face mass fluxes)

(3) When computing the coefficients of the neighbors in all scalar transport equations (which also requires face mass fluxes)

I can understand if we need to do this for (1). For (2), it seems to me to not be so relelvant since, the purpose of this is to eliminate a checkerboard pressure field. For (3), it seems even less relevant since it is not even part of the Navier-Stokes equations.



First, I suggest to read the original paper of R & C, furthermore some details are quite clearly illustrated in the textbook of Ferziger, Peric & Street.


If you want see the issue from a different perpsective, I worked on the topic in these papers:


- see Eq.(27) here
https://www.researchgate.net/publica...y-driven_flows



- see Eq. (47) here

https://www.researchgate.net/publica...taggered_grids
Moreza7 likes this.
FMDenaro is offline   Reply With Quote

Old   January 19, 2021, 11:20
Default
  #4
Member
 
Raphael
Join Date: Nov 2012
Posts: 68
Rep Power: 14
arkie87 is on a distinguished road
Quote:
Originally Posted by sbaffini View Post
Never actually coded it, but the general reasoning is the following one:

1) If you write the continuity equation without the RC term it leads to the pressure checkerboard problem, so yes, it is needed here (not sure about the nomenclature tough, if it is a source term or, actually, part of the flux itself)

2&3) Once you put it into your continuity equation, the mass flux that satisfies it is affected as well. You need to use that exact mass flux that satisfies continuity in all the other equations, either velocity component or additional scalars. It kind of is the whole point of using RC. Otherwise those equations would not be solved correctly. Consistency in discretization is the key of this whole matter of the pressure equation.
That makes sense. I suppose one could correct the cell velocities using the velocity corrections, but then use some simple geometric interpolation to get face velocities, but there is no need if there are already explicit formulas for correcting face and cell velocities from the pressure correction.
arkie87 is offline   Reply With Quote

Old   January 19, 2021, 11:37
Default
  #5
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,195
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
Cell velocities are just that. They get corrected because that is a specific step of the segregated approach (with or without RC). This correction involves the pressure gradient.

Face velocities are needed to advance the momentum equations, but they are treated differently from the mass flow rate on the faces, which is assumed known when you solve for the momentum. Basically, face values for scalars or velocities are treated the same here. And no, there is no pressure in them.

Pressure appears in the mass flow rate, as a consequence of how the continuity equation is formulated. One could say that RC is basically a formula for the mass flow rate to be used in colocated solvers to avoid the pressure checkerboard problem.

So, as you can see, these are three very different aspects of the overall procedure, each one with a specific scope.
sbaffini is offline   Reply With Quote

Old   January 19, 2021, 11:43
Default
  #6
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,291
Rep Power: 35
arjun will become famous soon enougharjun will become famous soon enough
Read Prof Peric's book. It is detailed very well there.
sbaffini and FMDenaro like this.
arjun is offline   Reply With Quote

Old   January 19, 2021, 12:25
Default
  #7
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by sbaffini View Post
Cell velocities are just that. They get corrected because that is a specific step of the segregated approach (with or without RC). This correction involves the pressure gradient.

Face velocities are needed to advance the momentum equations, but they are treated differently from the mass flow rate on the faces, which is assumed known when you solve for the momentum. Basically, face values for scalars or velocities are treated the same here. And no, there is no pressure in them.

Pressure appears in the mass flow rate, as a consequence of how the continuity equation is formulated. One could say that RC is basically a formula for the mass flow rate to be used in colocated solvers to avoid the pressure checkerboard problem.

So, as you can see, these are three very different aspects of the overall procedure, each one with a specific scope.



Indeed, there are different contexts wherein R-C interpolation can be introduced. For example, even on colocated grids one can simply discretize the Div Grad operator on a compact stencil with second order central formula and that would produce no checkerboard modes in the pressure. What is the consequence? The divergence-free constraint cannot be satisfied up to machine precision but only at the level of the truncation error. Just an analysis of this latter will show the origin of the R-C interpolation.
sbaffini likes this.
FMDenaro is offline   Reply With Quote

Old   January 19, 2021, 13:58
Default
  #8
Member
 
Raphael
Join Date: Nov 2012
Posts: 68
Rep Power: 14
arkie87 is on a distinguished road
Quote:
Originally Posted by arjun View Post
Read Prof Peric's book. It is detailed very well there.
I have that book. I couldnt quite put the content into practice, unfortunately.
arkie87 is offline   Reply With Quote

Old   January 19, 2021, 15:47
Default
  #9
Senior Member
 
Simbelmynė's Avatar
 
Join Date: May 2012
Posts: 552
Rep Power: 16
Simbelmynė is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
Indeed, there are different contexts wherein R-C interpolation can be introduced. For example, even on colocated grids one can simply discretize the Div Grad operator on a compact stencil with second order central formula and that would produce no checkerboard modes in the pressure. What is the consequence? The divergence-free constraint cannot be satisfied up to machine precision but only at the level of the truncation error. Just an analysis of this latter will show the origin of the R-C interpolation.

I think a simple explanation for this is partly given in this paper. In many textbooks it seems that checkerboard pressure will always come into play if we use a second order approximation for the pressure on colocated grids. This is not the case, but perhaps it is the most straightforward way to introduce the concept of staggering. Anyways, combining forward and backwards differences it is possible to construct a second order method with a compact stencil for pressure without spurious oscillations.



http://www.inderscience.com/storage/...3742121058.pdf
Simbelmynė is offline   Reply With Quote

Old   January 19, 2021, 20:13
Default
  #10
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,291
Rep Power: 35
arjun will become famous soon enougharjun will become famous soon enough
Quote:
Originally Posted by arkie87 View Post
I have that book. I couldnt quite put the content into practice, unfortunately.
okay okay.
Let me try to help you out a bit, then give it a trial again.

Lets say you have two cells across the face, one in left and one in right. Now lets say you also have gradient of pressure available at this points say dPdnLeft and dPdnRight.

Now if the distance between the two cell centers (left and right ) is ds then.


Code:
dPdn_at_face_center   =   0.5 *(  dPdnLeft + dPdnRight).
So far makes sense?


Now dPdn_at_face_center can also be computed as

Code:
dPdn_at_face_center   =    ( Pressure_right_cell   - Pressure_left_cell) /  ds
That means

Code:
( Pressure_right_cell   - Pressure_left_cell) /  ds  =  0.5 *(  dPdnLeft + dPdnRight).
So far good?

Now the Rhie and Chow flux is given as difference of these two gradients, which upon convergence will go to zero.

Code:
Rhie Chow flux    

 =      -(Ap/Volume) *   { 

                 ( Pressure_right_cell   - Pressure_left_cell) /  ds   -    0.5 *(  dPdnLeft + dPdnRight)  
                                }
The part that goes to matrix is

Code:
=    -(Ap/Volume) *   { 
                 ( Pressure_correction_right_cell   - Pressure_correction_left_cell) /  ds 

}
FMDenaro, SHUBHAM9595 and AtoHM like this.
arjun is offline   Reply With Quote

Old   January 19, 2021, 22:02
Default
  #11
Member
 
Raphael
Join Date: Nov 2012
Posts: 68
Rep Power: 14
arkie87 is on a distinguished road
Quote:
Originally Posted by arjun View Post
okay okay.
Let me try to help you out a bit, then give it a trial again.

Lets say you have two cells across the face, one in left and one in right. Now lets say you also have gradient of pressure available at this points say dPdnLeft and dPdnRight.

Now if the distance between the two cell centers (left and right ) is ds then.


Code:
dPdn_at_face_center   =   0.5 *(  dPdnLeft + dPdnRight).
So far makes sense?


Now dPdn_at_face_center can also be computed as

Code:
dPdn_at_face_center   =    ( Pressure_right_cell   - Pressure_left_cell) /  ds
That means

Code:
( Pressure_right_cell   - Pressure_left_cell) /  ds  =  0.5 *(  dPdnLeft + dPdnRight).
So far good?

Now the Rhie and Chow flux is given as difference of these two gradients, which upon convergence will go to zero.

Code:
Rhie Chow flux    

 =      -(Ap/Volume) *   { 

                 ( Pressure_right_cell   - Pressure_left_cell) /  ds   -    0.5 *(  dPdnLeft + dPdnRight)  
                                }
The part that goes to matrix is

Code:
=    -(Ap/Volume) *   { 
                 ( Pressure_correction_right_cell   - Pressure_correction_left_cell) /  ds 

}
I guess it is a good point that upon convergence, the rhie-chow correction term goes to zero. It should, given that for the case of checkboard profile, rhie chow term will be large, but for a "smoothed" out profile, rhie chow term will be zero. And it is worth mentioning that both solutions satisfy the momentum equations.
arkie87 is offline   Reply With Quote

Old   January 20, 2021, 06:07
Default
  #12
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
arjun provided a good description of one of the way to introduce the R-C interpolation. Other ways can be introduced but I would invite you to explore the first step of controlling checkerboard modes: use directly the compact discretization of Div Grad operators and use the interpolation in the source term. Then check if your solution (velocity & pressure) produces spurious modes and check the level of fulfillment of the divergence-free constraint.
Remember that R-C is based on a dissipative term
arjun likes this.
FMDenaro is offline   Reply With Quote

Old   January 20, 2021, 06:15
Default
  #13
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,195
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
Quote:
Originally Posted by FMDenaro View Post
arjun provided a good description of one of the way to introduce the R-C interpolation. Other ways can be introduced but I would invite you to explore the first step of controlling checkerboard modes: use directly the compact discretization of Div Grad operators and use the interpolation in the source term. Then check if your solution (velocity & pressure) produces spurious modes and check the level of fulfillment of the divergence-free constraint.
Remember that R-C is based on a dissipative term
I don't want to hijack this with LES related stuff but, actually, for cell centered FV methods, there is also an LES approach (one requiring SGS modeling also for linear terms) where a RC-like term arises when one models pressure with a scale similar term.
arjun likes this.
sbaffini is offline   Reply With Quote

Old   January 20, 2021, 06:22
Default
  #14
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by sbaffini View Post
I don't want to hijack this with LES related stuff but, actually, for cell centered FV methods, there is also an LES approach (one requiring SGS modeling also for linear terms) where a RC-like term arises when one models pressure with a scale similar term.



Never tested personally, shouldn't be maybe more suitable in a global ILES formulation?
FMDenaro is offline   Reply With Quote

Old   January 20, 2021, 06:33
Default
  #15
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,195
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
Quote:
Originally Posted by FMDenaro View Post
Never tested personally, shouldn't be maybe more suitable in a global ILES formulation?
Me neither actually, but it explicitly comes out from adding a pressure scale similar term to the SGS stresses (see sec. 4.6 in my Ph.D. thesis). Of course, it is just the first term in the series expansion of the scale similar term. It is not exactly equal to the RC term.
sbaffini is offline   Reply With Quote

Reply

Tags
collocated grid, rhie-chow, rhie-chow simple


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
[snappyHexMesh] sHM layer process keeps getting killed MBttR OpenFOAM Meshing & Mesh Conversion 4 August 15, 2016 04:21
Am I using the Interpolation Function Correctly? Andrew Norfolk CFX 3 July 21, 2016 11:26
Rhie and Chow’s pressure interpolation sajad6 Main CFD Forum 2 January 10, 2016 06:25
Surface interpolation schemes and parallelization jutta OpenFOAM Running, Solving & CFD 0 February 25, 2010 15:32
Interpolation question sdk Main CFD Forum 0 December 8, 2009 14:54


All times are GMT -4. The time now is 03:34.