Multi Phase LBM

Hello all

First, I am very happy to have found such a nice forum dealing with LB.

I decided to simulate multi phase flow with LB and specially droplet movement on surface, the contact angle and etc. I studied many work on this area and now i have worked on my code. But unfortunately I saw this forum very late :(.

Is there anyone to help me regarding following question:
Now, I wanted to know some thing about OpenLB program, is there any capability for simulation my problem in this code, or is it possible that I change it for my problem on it or Not? If it is OK please tell me where and some details,

Thanks allot.

oh, a note left behind, i want to solve my problem with Shan-Chen model and after taht with Innamuro model

at the moment OpenLB does not contain the multiphase model, but only the multicomponent model of Shan-Chen. It should not be too difficult to implement the multiphase model. All you have to do is to implement a new PostProcessor for the multiphase. You should use the PostProcessors for boundary conditions as models.


Hi Orestis

i,m really grateful for your help, but another question left behind, in order to model droplet movement on surface, which mode should I use, Single component multiphase or multi component multiphse? I think in multicomponent S-C model, we solve two distribution functions, each one for each component, but in single component we use the one for fluid and phase transition occurred in critical value of g, isn’t it? Now, for my problem which model must be used? another questions is that, what is the PostProcessors you mentioned above?> would you please explain it just little
again, thanks for your help.

Be happy

if you want to model a droplet I would use (as a first try) the single component multiphase model. (You definitely want multiphase, but not necessarily multicomponent.)

Then about the postProcessors.

In lattice boltzmann (except for streaming) the usual operations are local. But sometimes you need non-local information (for example for computing velocity gradients) which is a non local operation. These non local operations are done through PostProcessors in OpenLB. The principle is the following in OpenLB.

When doing the collideAndStream you first collide, then stream, and then you apply the “PostProcessors”. The postprocessors can access any point of the lattice (the standard only modifies a given point of the lattice) and therefore you can do non-local operations. You can find examples of postProcessors in the boundaryPostProcessorsXD.h* files in src/core directory of OpenLB.

I hope this helps a bit…