Applying bounceback BC

Hey, I’m fairly new to using the LB method and have been trying to implement full bounce back boundary conditions on a 2D box with no velocity sources. Basically just to see if the non slip boundary conditions are working.

Heres how i’ve implemented it:

Initialise u = 0, rho = 1 using equilibrium distribution function (D2Q9) for all nodes.

Collision step -
Bulk Nodes: Standard BGK collision
Boundary Nodes: Fi(x,t) = Fopp(i)(x,t) for i = 0:8

Streaming step-
Normal stream for bulk and boundary nodes

Calculate u and rho, then return to collision step for next iteration.

I can’t see anything wrong with my implementation but for all of the boundary nodes I’m calculating a velocity of 0.02 directed towards the centre of the domain. All of the bulk nodes have a velocity of 0.

Does anyone have any ideas why this might be?

the first I’m not sur that is correct is that on the boundaries you should NOT apply the BGK collision if you are using the bounceback boundary condition.
The second thing is that since you are not applying the collision, the Chapman -Enskog expansion is not valid anymore and therefore the density/velocity you could want to compute on the boundary has not physical meaning. And therefore should not be computed… :slight_smile:

Good luck.


Using bounceback boundary conditions (obstacles half-way between fluid and boundary nodes) one does not need to apply collision at the wall nodes, but propagation has to be applied at least to the outer wall nodes.
On the other hand, if your obstacles are explicitely included in the computations, i.e. if you have “wet boundaries”, you have to apply both collision and propagation at wall surface nodes.

Nf2 ----------Nf------------Nf3






Hi, Timm. I know how to implement half-way bounceback now, however I still have a question about ‘wet’ bounceback,
that the boundary node lies on the physical wall. In my graphs, I assigned it as Nb, and Nf is the first fluid node. Nw is
my auxiliary node in the wall. Now I give my understanding about how to implement ‘wet’ bounceback, please tell me
if I am right.

particle distribution is modified by collision and streaming step. In a new iteration, when Nb and Nf is carrying out a normal
collision, Nw do not need a collision but a bounceback operation. f_Nw(i)=f_Nw(OPP[i]). After that, a normal streaming step
is carried out for all the nodes.

So in this way, after Time T interation, for example, f_Nw(4)(T) will get value from a collisioned f_Nb(4)(T-1). In Time T+1,
f_Nw(2)(T+1) will equal to f_Nw(4)(T) due to bounceback, after the streaming step of Time T+1, f_Nb(2)(T+1) will equal to
f_Nw(2)(T+1), also equal to f_Nw(4)(T) and collisioned f_Nb(4)(T-1). So, this is the bounceback in my opinion,
Does anyone can tell me whether my understanding is right or wrong? Thank you very much.

I am not sure what exactly you mean.
If you have a wet boundary where you impose velocity or pressure values, you do not need Nw. I think that other people in this forum know more about that issue, because I have never done wet bounce-back.
Who can help?