Moving Boundary / Sliding wall

Hello !

I want to simulate a case witha moving boundary, in preference without using the IBM. A simple moving wall can satisfy my case, is this type of boundary already implemented in Palabos, I couldn’t really find it exactly, if so, how do we impose it ?

A question also related, the formula : $f’_i = f_i - 2 \rho w_i (\vec c_i \cdot \vec v)/ c_s^2$ assumes that rho is constant, what if rho is changing during the simulation ?

Thank you

are you looking for on lattice or offlatice BCs?
When rho is not contstant you have to use either the “zou-he” way of computing rho (if you are on lattice) or an interpolation/extrapolation when doing off lattice.

Hello Orestis,
Thank you for your reply.
I’m using it for a simulation of a piston (so the domain is updated), what would you recommand me to use ? Guo extrapolation or Inamuro or a Zou-He … ?

Thank you

Hmmm… I think the best way to go would be IBM. Why not use that? Otherwise you would need remeshing probably which may be complicated to do.

I tried with IBM, the problem is that I have a leak, and apparently using just a moving BC would be better.
Since the velocity is constant, can I apply a “nodynamics” to the unused cells ? Or just simply ignore it ?

For the moving wall, do you think it would work, I tried to do the same as a driven cavity, with changing the direction of the movement, but I can’t see the wall moving. What type of BC can I use ?

Is it possible to apply such a boundary condition ? If so, how can I do it please ?

Best regards

Hi Mehdi,

I agree that if you want to avoid leakages you shouldn’t use the IBM. If you need to simulate a moving boundary like a piston I guess that you need an off-lattice boundary condition, you could consider the Bouzidi et al (2001) or the Guo et al (2003) boundary conditions. For the Guo boundary condition, you can have a look for example to the aneurysm that uses it, but is not implemented in the case of moving boundary.
If you are planning to implement it for moving boundary consider that you will face numerous problems, the main one will be the refilling of fresh nodes.

Regarding you question:

\rho in the momentum exchange algorithm is the density of the closest node or the avg density of the simulation (ie 1 generally), normally it doesn’t change a lot given that the \rho fluctuation is small. Sure that any way you can use a better approximation of \rho at the wall if you have it.

Hope this helps, cheers,


Hello ,orestis:
Could you help me about IBM and 3d refinement? About initialition errors about IBM and 3D Refinement
thanks a lot.

Hello Francesco,

Thank you for your answer. As I can see, there is a “BouzidiOffLatticeMode” which I suppose can handle curved boundaries that is already implementd in Palabos. Do you have more information about this model ?
What do you by refilling fresh nodes ? I found a thesis and an article of Caiazzo about FSI and he mentionned refilling nodes, is it what you mean ?
Best regards,


Hi Mehdi,

yes, it what Caiazzo talks about eg in
A. Caiazzo, “Analysis of lattice Boltzmann nodes initialisation in moving boundary problems,” PCFD , vol. 8, no. 1/2/3/4, p. 3, 2008, doi: 10.1504/PCFD.2008.018074.
I suggest you read also
S. Tao, J. Hu, and Z. Guo, “An investigation on momentum exchange methods and refilling algorithms for lattice Boltzmann simulation of particulate flows,” Computers & Fluids , vol. 133, pp. 1–14, Jul. 2016, doi: 10.1016/j.compfluid.2016.04.009.

I think there are no examples with the BouzidiOffLatticeMode in the examples code. But the implementation follows the same philosophy of the Guo implementation, that you can find used in the Aneurism example.



1 Like