Flow past a cylinder (2D)

Hello, World!

This is my first post here. I am trying to simulate flow past a cylinder placed inside a channel. I am using the bounceback BC on the channel boundary. On the cylinder boundary, I am using the method of linear interpolation provided by Bouzidi in 2001. I would like to know if anyone has used this or other BC to simulate the sane situation. I am not getting vortex shedding which is expected.


Hi Tanmay,

Are you not having vortex shed after applying the bouzidi’s bounceback implementation or even before applying it?
We need more details of your model to find out why is it not working as you it is expected.



Hi Puigar,

I thank you for the reply. I just got the vortex shed last night using BC proposed by Bouzidi.

Now I am trying to find out drag and lift coefficients. Can you give me some direction how to calculate it?

Right now, I am reading the following paper:
Viscous flow computations with the method of lattice Boltzmann equation by Dazhi et el.

I recommend you the Moment Exchange Method, basically because of its simplicity for complex geometries.

I haven’t seen this paper so far, it seems quite a good apport.



Hi Puigar,

I am using the moment exchange method only. Have you implemented it in your code?

I need to see the implementation. I am little confused about how to find x and y component of force?

Thanks for your reply.

Best regards

F_x = 0.0d0 ; F_y = 0.0d0
do y = 1 , yDim
do x = 1 , xDim
do i = 1, 8
if ((x+v(i,0)>0).and.(x+v(i,0)<xDim+1) .and. (y+v(i,1)>0) .and. (y+v(i,1)<yDim+1)) then
if ((w(y,x) == fluid) .and. (w(y+v(i,1),x+v(i,0)) == wall)) then
F_x = F_x + v(i,0)(f(y,x,i)+f(y+v(i,1),x+v(i,0),opposite(i)))
F_y = F_y + v(i,1)
end if
end if
end do
end do
end do

I work with fortran, I haven't confirmed it is absolutely correct, but it works fine


Hi Puigar,

Thanks for the reply. But I am not very much aware about FORTRAN and terminologies that you have used.

Can you please take the pain of explaining the expression? I will be very thankful for your kindness.

Kind regards

Conceptually is.

I loop all over the domain searching for fluid nodes that are attached to obstacle nodes

Then I apply the momentum exchange equation, where I just sum up the f(i) from the fluid and the opposite f(i) from the obstacle that share the same link between two nodes of the domain. I sum up all these values and that’s it.

you can find the equation in many papers. eq num 15 from the paper:

Boundary forces in lattice Boltzmann: Analysis of Momentum Exchange algorithm

Alfonso Caiazzo, Michael Junk

Thank you so much.

I got this concept. Please also tell me how to take velocity in to the picture?

In the mean time, I will go through this paper.

Kind regards

Hi Puigar,

I also have some question about your programme accouting for the fluid-structure interaction.

In my code, the boundary nodes are also part of the fluid domain, so, my question is that whether

the momentum exchange between the boundary nodes should be included.

Kind regards

Liangqi Zhang

Hi Zhang,

This is actually a good question. The MEM proposed on papers actually do not consider the momentum exchange between boundary nodes. This is IMO a good approach if you do not consider moving boundaries or elastic boundaries, I insist, this is in my opinion.

Tanmay, You can try to use paraview and to generate an output of velocity values in order to visualize the velocity profile in each time step of your simulation in “.vtk” extension. This is the technique I use but I am sure there are others.