I was going through a paper titled “Benchmarking the 2D Lattice Boltzmann BGK Model”. Please refer to the following point regarding the introduction of flow of fluid.

Page 3 of the above mentioned paper: “This is done by introducing an acceleration constant into the model…” How is this acceleration constant calculated as in general we have average velocity at the inlet know to us (especially for horizontal flows)? What if the known flow parameter is pressure gradient?

Hello,

somehow I do not trust this article. And I do not know what the author means by acceleration constant. I have the feeling that the velocity boundary conditions are not correctly implemented…

Timm

I’d say it’s a real dodgy way of applying a pressure difference (or force, acceleration, whatever you want to call it) across a column of lattice points. You decrease/increase the velocities you alter the density which is related to the pressure hence causing a pressure difference.

As Timm stated acceleration constant is his term for this and it seems quite made up.

Dear Timm

I hope you are doing fine. Consider a 2D case where the physical delP of 1000 Pa is acting as the driving force through a rigid pipe of dia 3 cm and length 100 cm. Moreover the fluid is water at 25 C with a dynamic viscosity of 0.001 Pa.s. There are no gravity terms. Please respond to the following queries of mine.

- What is the flowing velocity in my case?
- What x_lb, y_lb and t_lb should I use?
- What is the value of driving force in my case?
- What is the value of relaxation parameter?
- How many iterations should I use?
- Can I use rho_lb from physical delP?

I will post more queries once the above ones are answered.

Thanx.

Hello,

wow, this is quite a list of questions. Here are some answers:

- I am not sure about the prefactor in 2D, but the maximum (center) velocity is pressure gradient/(factor * viscosity), where the factor is 4 or 8. For 3D flow in a circular pipe, the factor is 4.
- Assume you know the lattice constant (i.e. x_lb = y_lb is known). From the relaxation parameter tau and the physical viscosity, you automatically get the time step t_lb. The physical viscosity is the lattice viscosity times x_lb[sup]2[/sup]/t_lb, where the lattice viscosity is (tau - 0.5)/3. It is your choice which value of x_lb you want to use. Since you have a long pipe, the diameter should be resolved correctly. You could start with 20 lattice nodes for the diameter, i.e. x_lb = y_lb = 0.0015 m.
- The driving force, i.e. body force is equivalent to the pressure gradient. If you have a pressure drop of 1000 Pa along 1 m, the gradient is 1000 Pa/m, and hence the body force should be 1000 N/m[sup]3[/sup] in 3D or 1000 N/m[sup]2[/sup] in 2D. Be careful and check how the pressure is defined in 2D!
- The relaxation parameter tau should always be larger than 0.5 and it should not exceed 1.0. I have found out that a value between 0.8 and 0.9 is optimum for many applications. You should start there.
- If your final state is stationary, you should include a function which terminates the computations, once steady state has been used. Commonly, people compare velocity values at current time t and the time t - 1 or t - 100 (you can choose the step width, a smaller value increases the computational cost). I am sure you will find a way to implement this.
- rho_lb should be more or less constant (quasi-incompressibility). It is wise to set the initial numerical density to unity. The pressure drop then translates to a density drop. It shouldn’t be too large, say delta rho/rho = 0.05.

Hope that helps,

Timm

Dear Timm

i am using LBM for fluid flow simulation using the anb code available at this site http://bernsdorf.org/research/anb.html

the inputs required for this code are:iterations number, density,acceleration,omega and dimenssion of characteristic length.i just stuck with acceleration term.would you please help me about this term.All these terms should be entered in LU(lattice Units)

Also i want to ask how can i find the rho_lb if physical density and pressure drop for fluid is known but velocity is not known?

Hello,

maybe you should ask somebody familiar with this code. I cannot really give you advise here.

Timm

Dear Timm

my question is quite similar asked by 001

would you please tell be if i want to solve the Poisellie Flow in 2-D,with length 0.01 m,width = 0.001m, roh = 1X10^3 Kg/m^3, mu = 1x10^-3 Pa.s, and pressure drop of 10^3 Pa. i want to calculate roh(in lattice units), tau and number of iteration. i read the paper by Jonas Latt for lattice Boltzmann units choice.but i have no velocity to start the conversion.how can i start?

also please tell how can i compare the results (say velocity profile for poisellie flow) in lattice units and actual units?

This question is very similar to existing ones, and you should find the answers on this forum.

In short:

- The lattice density is usually set to 1 at the beginning. It then evolves corresponding to the pressure profile of the flow, since density and pressure are equivalent (up to a constant factor).
- The lattice velocity in your case has to be computed from the pressure drop and the geometry. You will find the equations in a good fluid dynamics textbook. It is something like: velocity = factor * pressure drop / viscosity, where you have to correctly set the factor.
- Once you have the lattice values of your velocity, you get the physical values by multiplying the lattice values with dx / dt, where dx is the lattice constant and dt the time step, e.g. dx = 0.0001 m and dt = 0.00001 s.

Timm

thanks Timm for your help.

Dear Timm

I have a physical velocity of 12.5 m/s.if i convert it in lattice units it become greater than 0.1.as i set dx=0.033 and dt=2x10^-4.would you please help me?

You have the following possibilities:

- decrease the time step => longer simulation time
- increase the lattice constant => lower resolution

The trick is to find values which are in agreement with all requirements (e.g. small Mach number, numerical stabity, efficiency). Note that it may be impossible to set up a simulation which obeys all of those points. Computer simulations have their limits, especially LB at large Re.

Timm

Please refer to the following link.

http://fusion.anl.gov/ALPS_Info_Center/2004-12-06/presentations/5.1Pattison.pdf

Can anyone tell me the difference between the equillibrium distribution function mention here on page 4 and the f(eq) we use generally? I am especially concerned about the tau*a term.

Thanx.

I have just found the explanation in the book by Sukop and Thorne on page 54. They include forces by modifying the equilibrium velocity. The velocity is replaced by the sum of the velocity and the acceleration.

Dear Timm

I want to model a 2D mesh with a circular object in the path of the moving fluid. A simple bounce back BC can be implemented on a circular rigid particle of known dimensions in the path of the moving fluid. However, I want to implement the motion of the said rigid particle if the velocity exceeds beyond a certain value in the horizintal direction. Can you advise me regarding the problem (a novice approach from implementation point of view will be very helpful)?

Thanks in advance.

Hi,

I am not sure I understand your problem exactly, but implementing moving obstacles can be quite challenging. I would say that the first question to ask is: do you really need the obstacle to move? An alternative could be to formulate your problem in the reference frame of the obstacle. In this frame the obstacle is always at rest, but all other parts of the simulation start moving. This could be for example simulated by adding a constant offset to the velocity on the domain boundaries.

## Timm Wrote:

Hello,

wow, this is quite a list of questions. Here are

some answers:

- I am not sure about the prefactor in 2D, but

the maximum (center) velocity is pressure

gradient/(factor * viscosity), where the factor is

4 or 8. For 3D flow in a circular pipe, the factor

is 4.- Assume you know the lattice constant (i.e. x_lb

= y_lb is known). From the relaxation parameter

tau and the physical viscosity, you automatically

get the time step t_lb. The physical viscosity is

the lattice viscosity times x_lb2/t_lb, where the

lattice viscosity is (tau - 0.5)/3. It is your

choice which value of x_lb you want to use. Since

you have a long pipe, the diameter should be

resolved correctly. You could start with 20

lattice nodes for the diameter, i.e. x_lb = y_lb =

0.0015 m.- The driving force, i.e. body force is

equivalent to the pressure gradient. If you have a

pressure drop of 1000 Pa along 1 m, the gradient

is 1000 Pa/m, and hence the body force should be

1000 N/m3 in 3D or 1000 N/m2 in 2D. Be careful and

check how the pressure is defined in 2D!- The relaxation parameter tau should always be

larger than 0.5 and it should not exceed 1.0. I

have found out that a value between 0.8 and 0.9 is

optimum for many applications. You should start

there.- If your final state is stationary, you should

include a function which terminates the

computations, once steady state has been used.

Commonly, people compare velocity values at

current time t and the time t - 1 or t - 100 (you

can choose the step width, a smaller value

increases the computational cost). I am sure you

will find a way to implement this.- rho_lb should be more or less constant

(quasi-incompressibility). It is wise to set the

initial numerical density to unity. The pressure

drop then translates to a density drop. It

shouldn’t be too large, say delta rho/rho = 0.05.Hope that helps,

Timm

I have a problem with the third

when pressure gradient is body force,then time*pressure gradient is not velocity dimension.but only pressure body force is ,then time*pressure is the velocity dimension

I do not really understand what you mean, but Pascal is Newton divided by meter[sup]2[/sup], thus 1 Pa / m = 1 N / m[sup]3[/sup].