CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Prediction of gradient at the cell center for cell-centered finite volume method (https://www.cfd-online.com/Forums/main/131945-prediction-gradient-cell-center-cell-centered-finite-volume-method.html)

openfoammaofnepo March 23, 2014 05:58

Prediction of gradient at the cell center for cell-centered finite volume method
 
Dear CFDer,

As you know, when I implement cell-centered finite volume discretization, I need to calculate the gradient at each cell center, which will be used in the numerical schemes for convection and diffusion terms. I found that this will slow down my simulations because before I start the face looping of numerical fluxes for the convection and diffusion terms, the gradients should be known in advance. I use Green-Gauss method to predict the cell center gradients, which means that the complete face looping is also needed. So, in this sense, I need to do two cycle of face sweepings: one for gradient (this should be performed first) and another for numerical fluxes. This obviously slow down my code.

Since I guess this is classic problem in FV CFD, does anybody have some suggestions about the appraoches to efficiently calculate the cell ceter gradients without loss of computation speed?

Thank you so much,
OFFO

sbaffini March 23, 2014 08:37

The standard Green-Gauss based gradient can clearly be computed trough a face loop, you just need to... do it. For each face in the loop you just need to update all the relevant gradient terms in the two cells sharing the face. Obviously, you will still need to compute the gradient in a preliminary face loop before using it.

The same should be possible even for the least-squares approach (probably more cumbersone)

openfoammaofnepo March 23, 2014 08:43

Thank you!

I did loop all the face first, which need computational time. This is my concern. Because I need loop all faces first and then do the looping again to calculate the numerical fluxes.

Any more comments?

Thank you.

Quote:

Originally Posted by sbaffini (Post 481580)
The standard Green-Gauss based gradient can clearly be computed trough a face loop, you just need to... do it. For each face in the loop you just need to update all the relevant gradient terms in the two cells sharing the face.

The same should be possible even for the least-squares approach (probably more cumbersone)


sbaffini March 23, 2014 14:59

I'm sorry, i don't know of any other obvious (or not) way to do it.

Consider that, in general, you should do it more than twice to keep with the iterations. How much slow down are we talking about?

openfoammaofnepo March 23, 2014 15:07

Yes, you are right. Thank you.


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