CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   New implementation of Courant number in version 2.0 (

stevenvanharen August 17, 2011 04:02

New implementation of Courant number in version 2.0
Dear All,

There seems to be a new implementation of the Courant number in version 2.0.x (compared to 1.7.1). The Courant number seems to be calculated cell-based instead of face-based.

To me this seems strange since high velocity peaks will be smeared over a cell. Also there seems to be a mysterious 0.5 factor. Does anybody has some useful thoughts about why they changed this for version 2.0?

Any input will be greatly appreciated.

eugene August 18, 2011 04:23

The "0.5" can what is going on can be easily explained. The "sumPhi" scalar field represents the magnitude of the volume flux crossing crossing a cell boundary. Since the amount of flux out must be equal to the amount of flux in to satisfy continuity, the "average" flux magnitude must be exactly 0.5*sumPhi.

No consider an arbitrary cell in a uni-directional flow field. The cell will have some equivalent frontal area, A*, normal to the flow direction. It will also have some equivalent average length d* aligned with the flow direction. (It follows that V (volume) = A* x d*.)

The Courant number is defined as CFL = velocity * dt / length. Using the average flux magnitude, you can show that

CFL = (0.5 sumPhi / A* ) x dt / d*
= 0.5 sumPhi x dt / V

As to why this was done, I have no idea. As you mentioned, the above formulation will obviously be less accurate the more curved the flow is.

stevenvanharen August 18, 2011 05:25

Thank you for your explanation, the 0.5 factor is clear to me know.

If anybody has an idea why this was done I would be very interested.

Kind regards,


l_r_mcglashan August 18, 2011 05:26

You could always ask them!

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