Unit Conversion

Hi Deal All,

This is really a nice and helpful forum for those working on LBM and for new beginners.
Can some one help to mentioned some links or post some documents related to unit conversion in LBM.
I try to find the unit conversion from one of the nice member of LBM but i think that link is removed. I think that sweet person is from japan. Can it possible for Him/Her to once more time upload that document.
Thanks and Best Regards

Hi Zia

I hope the following link may help you. You can find the way to choose lattice units in a LB simulation.


Best Wishes

Hi Feitian,
Thanks a lot.

Hi Feitian,

I was reading the document by Jonas on unit conversion. I am very confused about the lattice velocity, in equation 12, U_d is dimensionless , So is it that U_lb has the dimension of time/length?

Thanks and Best Regards

U_lb=delta_t/delta_x * U_d

delta_t and delta_x are discrete variables from the dimensionless system, so they are dimensionless as well.

You can also have a look here.

Thanks a lot Timm.

Hello Timm!?
i tried to calculate units for an simulation setup and used your last link to your ppt.
i got everytime the problem, that one unit is undefined:
nuLB or tau have do be defined. In your example you set tau=0.6, but why?
In the palabos showcase aneurysm, nuLB is predefined with 0.0062.
But i dont get where this number is coming from?

can you help me? or someone else who know it?

Usually your system of equations is under-determined. This is good as it gives you the choice to freely select one or more of the parameters. But this also means that you have to come up with a good idea how to proceed.
What does it mean? If you want to simulate a given Re, you may first set the resolution. But then, what is the velocity and what is the viscosity? Here you have to select, for example, the viscosity first, which would automatically set the velocity. You may select tau = 0.55 or tau = 1, it depends on you. However, you have to make sure that all resulting simulation parameters are consistent. If you choose tau = 1 and the velocity turns out to be 0.8 (too large!), then you have to find another value for tau which leads to a smaller velocity. It is part of your modeling process to find a proper set of simulation parameters. This requires some experience, but you will quickly learn how to do it.
Does it help?


hmm, so i only set tau to an value of my choice? (in the stability intervall 0,5…2)
for my simulation ive got Re, velocity and material constants like density and viscosity predefined. The resolution is to set, how fine the grid is going to be.
So only tau is left.
But when i pick different values for tau, it doesnt change the reults of the simulation? I cannot imagine.
Is there no physical background or equation to describe a proper relaxation time?


You got it. tau is a simulation parameter which has to be chosen wisely. The physical results ideally do not depend on the choice of tau as long as Re is correct. It is mostly the error terms which depend on the numerical details. Please be aware of these points:

  1. If tau is small (approach 0.5), the simulation may be unstable.
  2. If it is significantly larger than unity, LB becomes more and more inaccurate.
  3. If the resulting velocity is very small, the simulation will take ages.
  4. If it is very large (> 0.1 or 0.2, say), LBM suffers from time discretization and compressibility errors.
    You have to choose tau and the resulting velocity in such a way that you minimize all of the bad effects.

Good luck!

Ok, thank you Timm!
That help me a lot to understand!

Hello Timm!
It would be nice if you may have a look on my calculations, due to the accuracy!
I want to simulate an 3D flow around a cylinder.
I try to calculate some unit conversations with different tau and different resolutions. Because with same taus and increasing resolutions, ulb going to be smaller. Im not that skilled with palabos to know what resolution i have to chose for correct solutions, but not to excessive computational costs.
May you can give me a tip!?

My physical essentials:
velocity u=0,00502 m/s
kin.viscosity v=1,004e-6 m^2/s (water 20°C)
lenght of domain H=2,6m
cylinder diameter d=0,1m

From your linked ppt:
(H_ resolution for domain lenght)
Cv= v/v_=v/vlb
(v_=vlb=(tau-1/2)/3 depending on chosen tau)

and finally to come to an ulb:
Cu=u/u_=u/ulb -> ulb=u/Cu

for tau = [0,51/ 0,515 / 0,52/ 0,55] and resolution H_=200 i calculated:
ulb=[0,216/ 0,325/ 0,433/ 1,008]
That seems way to large, so i increased H_ while leaving tau constant:
tau=0,51 H_=300 -> ulb=0,144
tau=0,51 H_=500 -> ulb=0,0867
tau=0,51 H_=600 -> ulb=0,072
tau=0,51 H_=800 -> ulb=0,0541

But the number of cells/nodes are drastically increased with larger H_.
So first: are the calculations correct?
and second: What constallation you would recommend? Or shall i go ahead with larger tau and larger resolution for a smaller ulb?

Thanks for your help!


your calculations seem to be correct. You always have to pay a certain price for large Re simulations. If H = 200, then your cylinder’s diameter is only 7.7 which is way too small. This means that you have to increase your resolution anyway. It is expensive, but there is no other way. Since I would expect an unsteady flow at the end, you have to provide a sufficient grid size to resolve the eddies. Increasing the grid while keeping tau constant will always result in smaller velocities, which is good (but expensive).
Another way is to reduce tau further. This will also reduce the velocity if the grid size is fixed. But here you have the problem that very small values for tau may lead to instabilities. It may be worth working with MRT then.


Thank you Timm, for your suply!
Yes, i also though about that small diameter. But the problem is, that palabos crashes when i set H>210.
often with the following message in the terminal:

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.

I also tried to size down the maximum number of iterations, but it dont work...

Edit: now it works up to an H=234, i dont know why. 
I've got ulb=0.1, Re=500 and tau=0.505. While the diameter resolution is 9. 
The only thing i could change is the reolution, but it dont works with higer H.
Another problem, with the previous settings (H=200, Re=500, ulb=0.1, tau=0.5046), i got an turbulent flow and not the expected karman street.


I am sorry, but I cannot help you with Palabos specific errors. You should ask somebody of the development team.


Hello Timm,
I did not come to open your link you sent on September 21, 2012 02:26 PM, you can return it to us.
Thanks and Best Regards

Hello Timm,
I am simulating flow past a square cylinder, i am getting aprropriate values of Cd from for diff Re=10,20,40, and 100 only for Height from H=10 to 19, but as i increase the value of from 20 onwards , i am getting wrong value of Cd,
parameters of simulation are as follows,
H=25.0; // height of square cylinder
ny= 8H,

i am using BGK approximation.

kinematic vsic=Uref*H/Re;

why i am not getting correct value for larger H.

Thanks and Regards,


the link is still there.



I have the impression that you want to study the convergence of your code.
In order to do that, you should not only increase H but also the number of time steps. This means that the reference velocity should be decreased. Usually one uses the “diffusive scaling” for this: Increase the spatial resolution by a given factor and decrease the velocity by the same factor. The results should be better then.