CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   Numerical schemes for free surface flows (VOF) (

botp March 11, 2011 09:08

Numerical schemes for free surface flows (VOF)
Dear all,

I am currently working with free surface flows using the interFoam solver.

Unfortunately I have some serious problems with violent instabilities in the air phase and wondered however this is related to the numerical schemes? An Example of the instabilities are shown in this figure. In the figure the velocity field is shown with a contour of the VOF-scalar (gamma=0.5) superimposed. As seen from the figure, vortices are created in the air and the free surface surface is highly distorted. The distortion of the free surface is non-physical and ruin the computations.

So, if anyone has experience with the numerical schemes in relation to the interFoam solver and/or the VOF scheme in general, I will appreciate some advice!

Currently I am using the settings from the damBreak tutorial.

Kind regards,
Bo Terp

santiagomarquezd March 11, 2011 12:28

Hi Bo Terp, I had same problems solving an sloshing case. I've been solving other cases too and my suggestion would be run with this parameters:

-upwind difference scheme for all div terms.
-5 PISO correctors
-nAlphaCorr no more than 1
-nAlphaSubCycles, no more than 1
-Courant number below or equal to 0.2 (use adjustTimeStep to do that)

once you have a very diffusive but bounded solution both in alpha and U, then try increasing cAlpha and changing the div schemes to which are used in interFoam tutorials.

Let me know of your findings, I'm learning too.


idrama March 11, 2011 16:27

Properly you have an unstructured mesh which contains non-orthogonal cells. Can you post the current one? I don't know the exact boundary conditions but I would suggest you set something like

nCorrectors 2;
nOrthoCorrectors 4;

div(rho*phi,U) Gauss limitedLinearV 1;
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss interfaceCompression 1;

Alternatively, I can recommend
div(phi,alpha) Gauss limitedLinear 1;
div(phi,alpha) Gauss linearUpwind cellMDLimited Gauss linear 1;

Setting cAlpha 0 means no interface compression, take cAlpha 1. Hasn't that work than increase to 2,3,4 etc.


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