New implementation of Courant number in version 2.0
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.
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.
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.
You could always ask them!
|All times are GMT -4. The time now is 19:12.|