Hello to everybody,
i’m developing the lid driven cavity case with LBM method using the velocity boundary conditions proposed by Hecht and Harting in their article (, but i’ve some doubts.

  1. the equation (29) , with correction (32), has to be applied on each distribution functions pointing in the domain, considering the reference system of the above-mentioned article, in particular the edge between xy-plane and yz-plane we have to modify f15,f5,f17,f9,f7,f1,f8,f9?
  2. in the article there is a distinction between convex and concave edges, so my question is the edges of a 3d-square duct are convex, aren’t they?
  3. moreover in the article they suggest to perform as first step, the streaming step, and as second step, the collision step. Do something change if i modify the order, that’s to say i perform the collision step and then the streaming step?
    Thanks for the answers.

I haven’t studied the article so can’t comment on 1 and 2.

However for 3, there is a performance advantage to streaming first. When we stream before collision the code normally executes the stream by reading data from neighbouring lattice sites. Streaming after collision requires the code to write data to neighboring lattice sites. Random access reads are typically more efficient than random access writes, so streaming before collision is preferred.

Thanks for your answer, i’ll follow your advice. Another question, the choice of the order to be given to the steps depends on the model chosen? Or it’s only a question of performance advantage? (just my curiosity)

I believe it’s only a performance advantage. (at least, with the models I use it is)