ludwig-cf / ludwig

A lattice Boltzmann code for complex fluids
https://ludwig.epcc.ed.ac.uk
Other
51 stars 34 forks source link

curved boundary condition #281

Closed qikaifzj closed 11 months ago

qikaifzj commented 11 months ago

Due to the lattice nature of our system, the traditional Lattice Boltzmann method can not handle the curved solid boundaries very well. In order to solve this issue, we employ the scheme proposed by Bouzidi (Phys. Fluids 13, 3452 (2001)), where an interpolation scheme is utilized to redefine the boundary conditions for the curved surfaces. However, we have some problems to implement this scheme into our code.

  1. In wall.c, from lines 1037-1041, if I understand correctly, ‘i’ is the solid node, ‘j’ is the fluid node, and ‘ij’ means the direction from solid to fluid. If so, it is different from the definitions in bbl.c, where the solid and fluid nodes are reversed.

  2. In wall.c, the distribution ‘fp' of the solid node ‘i’ along the direction ‘ij' (solid->fluid) is called in line 1069, after the implementation of the bounce back boundary condition, the new distribution ‘fp’ along the direction ‘ji’ (fluid->solid) is distributed to the fluid node ‘j’. This is different from Nguyen and Ladd’s paper (PRE, 66, 046708 (2002)). I found that it is quite confusing.

  3. In addition, if I output the distributions at both the solid node ‘I’ and fluid node ‘j’ along any direction, the values are all the same. It seems the fluid propagation direction is irrelevant. Could you explain this?

Thank you very much! I am looking forward to your reply.

kevinstratford commented 11 months ago

OK. I think this confusion is explained by the comment at the lines you give in point one. The comment about ij is wrong.

The true situation is given in wall.h in the definition of the wall structure. The 'i' link is the fluid site, and the 'j' link is the solid site. This is then the same as for the colloids in bbl.c.

It follows that the bounce-back places the relevant distribution at the solid site, and the propagation brings it back into the fluid.

Not quite sure I understand the third point.

I will update the comments. Sorry for the confusion!

kevinstratford commented 11 months ago

I've corrected that in the development version , which should appear soon as a release.

qikaifzj commented 11 months ago

Thank you very much for your reply! They are really helpful!

Regarding the 3rd question, I attached the screenshot here. We output the distributions for both the solid and fluid sites at the boundary. You may find that they are exactly the same, regardless of the type of the site and the propagation direction. Could you explain this? output

kevinstratford commented 11 months ago

That looks like it is just the weights w_i in all cases, that is, you at seeing the initial conditions with the fluid at rest. There's no meaning to be attached to the distributions at the solid sites (until the bounce-back takes place, at least).

kevinstratford commented 11 months ago

It looks like this one is answered, so I will close.