Shan Chen Fluid-Surface Forces

Dear all,

I have been making progress with extending the segregation2D example to incorporate porous media. I have a specific question regarding the segregation. I understand that the aggregation/segregation results due to an attractive (cohesive) force between nearest neighbour fluid particles.

Since I am interested in flow in porous media I would also require an adhesive interactive force between the fluid particles and the internal solid boundaries similar to Martys and Chen (1996) method. I was wondering if this is already incorporated into Palabos and if not what would be the best way to go about incorporating it? Any ideas/suggestions?



Hi Cotrf

I have found a way to do this although its not ideal, and I tried it when Palabos was still OpenLB…

With OpenLB it was possible to give your solid nodes a fluid density, since the fluid particles already have an attractive (or repulsive) force between them I found this to be a good way to reproduce the adhesive force between a fluid and solid boundary. Using this technique I was able to demonstrate the effect of capillary action and droplet contact angles, although it is a rather abstract implementation of this phenomena…

I’d be happy to send you the program I used, it was a modified version of the “multicomponent2d” example program. Those example programs really are rather useful.



This still works the same in Palabos. To give your solid nodes a fluid density (for example density 0.5) create them through the command

new BounceBack<T,Descriptor>(0.5);

Dear cotrf,

were you able to deal with wetting properties using the ShanChen method implemented in palabos. Let us know.

Hey everyone,

I am completely new to lb and palabos and also trying to implement a fluid-surface force to my ShanChenProcessor.
Maybe its not important but i added a gravity force so far and modified the rayleighbenard example in this way it works
now with the ShanChen and AdvectionDiffusion lattices.
I tried the way you did it by giving my boundary nodes densities like this:

setBoundaryDensity(nsLattice, bottom, rho0);
setBoundaryDensity(nsLattice, top, rho0);
setBoundaryDensity(nsLattice, inlet, rho0);
setBoundaryDensity(nsLattice, outlet, rho0);

and the way jlatt described it above, but there is still no interaction between the fluid and my “walls”
(except the standart repulsive force of bounceback)…
Sukop and Thorne added the fluid-surface forces by adding a function that substitutes our interparticle psi-
function in case the cells neighbour is a solid node. I tried this too, as Palabos holds a function isBoundary()
but everytime i tried to use it (the argument of the function has to be omega i guess?) the compilation fails.
Has anyone an idea how it works?
Thanks for your help :slight_smile:

Dear friend

I am learning how to establish contact Angle, could you please send me your code to have a look? My email is, thank you very much!

Hi Bruce
Recently, I am also studying the implementation of two-phase displacement and contact Angle, could you please send me your code for reference? Thank you very much. My email is
Thank you very much for your help!

Hi, Bruce. I am working on a problem nearly the same as you. Could you please send me your code for reference? Thank you very much for your help. I am looking forward to your reply soon


My email address is Thank you again