CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   bubbleFoam - behavior on finer mesh (

darai November 15, 2011 03:56

bubbleFoam - behavior on finer mesh
5 Attachment(s)
Hello foamers,

I am investigating a case of completely closed domain where a large bubble is rising and spreading across the ceiling. The domain is a cylinder "on side" and the calculation works quite correctly for cruder hexahedral mesh.

Attachment 10058

Attachment 10059

But the target is to use a polyhedral mesh, but the calculation doesn't converge on it... so I tested a finer hexahedral mesh and finer polyhedral mesh and I have got those strange results...

Crude Hexahedral mesh
Attachment 10060

Fine Hexahedral mesh
Attachment 10061

Fine Polyhedral mesh
Attachment 10062

I am quite new to the CFD solving... and I understand that this is not correct. But why?

Thanks in advance for all hints you can offer


darai November 15, 2011 06:05

3 Attachment(s)
So, in the first step I examined the convergence and it is as those attached graphs shows.
The most correct calculation, with the crude hexahedral mesh looks like this:
(convergence of p in individual time steps)
Attachment 10068

The finer hexahedral mesh then looks like this
Attachment 10069

And the finer polyhedral mesh like this
Attachment 10070

So the convergence is poor in the beginning in all the calculations... And it is similar in Hex Crude and Hex Finer mesh...

I assume that the bad convergence in the polyhedral model is in the moment the model touches the wall...

darai November 15, 2011 06:30

Hello all,

In the next step, I am going to try to change the fvScheme file... but I have no clue which is good to modify first... I do know what the lines in fvScheme stand's for and I do know how each scheme looks, but I am not sure how to guess the influence on the result.

Is there any hint? What to start with, which literature read, some similar cases etc?
Thanks again for any help or hint...


akidess November 15, 2011 08:28

First of all, did you reduce the maximum time step after refining the mesh?

darai November 15, 2011 09:43

Time step
Hello Anton,

Thanks for the hint... No, I did not...
I know this:
\Delta t \cdot \sum_{i=1}^{n} \frac{u_{x_{i}}}{\Delta x_{i}}\leq C

The original model (crude) was:
dx = 0.01 m
max dt = 0.001 s
The ux is 0 in the beginning of the calculation and maximally 10 m/s (because the bubble toutches the top after cca 0.5s)

so let's take 10 m/s
the C is max 1.

When I am using the finer model (both are 2x finer in each direction) the cell size is decreased to:
dx = 0.005 m all other parameters weren't changed:
max dt = 0.001 s
max ux =~ 10 m/s

so let's say C is max 2.

Ok, so I suppose that the time step should be halved... For this I introduced the calculated time step... the same which is in twophaseEulerFoam... or in interFoam.

Is it necesarry to set the maxDeltaT always to some calculated value by the equation above? What if I can't limit the velocity? I am suppose to calculate quite large models and too small dT will increase the calculation time... I thought that the calculated dT (calculated in the run in each time step accordingly to actual Courant number) will solve this problem but not if I will force it manually to use some small value.

I will test smaller dT ... for example 1/10 dT should be sufficient and post the results.

Thanks again,

akidess November 15, 2011 09:58

I think a Courant number of 1 is already pretty large for multiphase flows; 2 is just asking for trouble. Definitely check if your results change with smaller time steps.

MaxDeltaT is not always necessary, but more strictly enforced than maxCo, so if you notice the solver jumping over the maxCo number it helps to limit maxDeltaT as well.

Aurelien Thinat November 15, 2011 10:27

I agree with Anton. An Euler/Euler multiphase flow calculation needs a small courant number. In my different tests, I used to bound the Courant number (based on Ur) by 0,4.

niqbal November 16, 2011 10:05

Courant could be set upto 0.5 maximum in Euler-Euler multiphase flows, beyond this value is not recommended

darai November 22, 2011 06:15

Final Results
4 Attachment(s)
Hello All,

Thanks again for the recommendations. You were right... the Time step has quite influence on the convergence / divergence of the whole model.

I tried the "adjustTimeStep" switch (added to bubbleFoam) to correct this problem, but the calculation turned out to be still dependent on the time step.

To save the calculation time, I examined following rhetorical question: Why do we have the calculated Courant Number for each time step when we need to limit the deltaT anyway? If I force the calculation to push the Courant number (with maxCo constant) down do I still need the maxDeltaT? What if the problems with divergence are only in the beginning of the calculation cycle before the timeStep is pushed down by the MaxCo criteria?

In this case, it would be enough to set maxCo (0.4) and Calculate sufficient deltaT for T=0... and let the maxDeltaT to be higher... because the limitation by maxCo should be enough.

For now I have some results on finer mesh (T = 0.5 s ) (120 000 polyhedral cells)...

fixed dT = 0.1 ms, maxCo = 0.4

Attachment 10170 Attachment 10172

variable dT = 0.5 ms,dT(T=0) = 0.1 ms, maxCo = 0.4
Attachment 10171 Attachment 10173

As it looks, the results are similar, so the convergence problem was in the first part of the calculation... BUT the results does differ quite a bit, and the residua (thick green results in graph) are quite worse for the variable dT.

The scary thing is the yellow value of the Courant number... even the parameter maxCo is 0.4 the calculated maxCo is in one moment little bit over 4.

So, the problem isn't fully solved. When the calculation reaches a problematic place it fails (if the time step is fixed) or it creates unrealistic results, if the time step is variable. But the first question, the divergence at the beginning is now solved.

I will create necessary graphs and submit the other problematic place in the calculation.

Thanks again Anton, Aurelien and Naveed a lot for the hints... fluid dynamics are now again a little bit clearer for me.


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