Register Blogs Members List Search Today's Posts Mark Forums Read

 January 18, 2021, 17:31 Question about Rhie-Chow Interpolation #1 Member   Raphael Join Date: Nov 2012 Posts: 68 Rep Power: 12 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.

 January 19, 2021, 04:49 #2 Senior Member     Paolo Lampitella Join Date: Mar 2009 Location: Italy Posts: 2,095 Blog Entries: 29 Rep Power: 38 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.

January 19, 2021, 05:15
#3
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,401
Rep Power: 68
Quote:
 Originally Posted by arkie87 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

January 19, 2021, 10:20
#4
Member

Raphael
Join Date: Nov 2012
Posts: 68
Rep Power: 12
Quote:
 Originally Posted by 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.
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.

 January 19, 2021, 10:37 #5 Senior Member     Paolo Lampitella Join Date: Mar 2009 Location: Italy Posts: 2,095 Blog Entries: 29 Rep Power: 38 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.

 January 19, 2021, 10:43 #6 Senior Member   Arjun Join Date: Mar 2009 Location: Nurenberg, Germany Posts: 1,204 Rep Power: 31 Read Prof Peric's book. It is detailed very well there. sbaffini and FMDenaro like this.

January 19, 2021, 11:25
#7
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,401
Rep Power: 68
Quote:
 Originally Posted by 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.

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.

January 19, 2021, 12:58
#8
Member

Raphael
Join Date: Nov 2012
Posts: 68
Rep Power: 12
Quote:
 Originally Posted by arjun Read Prof Peric's book. It is detailed very well there.
I have that book. I couldnt quite put the content into practice, unfortunately.

January 19, 2021, 14:47
#9
Senior Member

Join Date: May 2012
Posts: 537
Rep Power: 15
Quote:
 Originally Posted by FMDenaro 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

January 19, 2021, 19:13
#10
Senior Member

Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,204
Rep Power: 31
Quote:
 Originally Posted by arkie87 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

}```

January 19, 2021, 21:02
#11
Member

Raphael
Join Date: Nov 2012
Posts: 68
Rep Power: 12
Quote:
 Originally Posted by arjun 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.

 January 20, 2021, 05:07 #12 Senior Member   Filippo Maria Denaro Join Date: Jul 2010 Posts: 6,401 Rep Power: 68 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.

January 20, 2021, 05:15
#13
Senior Member

Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,095
Blog Entries: 29
Rep Power: 38
Quote:
 Originally Posted by FMDenaro 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.

January 20, 2021, 05:22
#14
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,401
Rep Power: 68
Quote:
 Originally Posted by sbaffini 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?

January 20, 2021, 05:33
#15
Senior Member

Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,095
Blog Entries: 29
Rep Power: 38
Quote:
 Originally Posted by FMDenaro 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.

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