Parameters in Palabos

Hello everyone;
I am working on LBM-DEM coupling based on someone’s else code, which use LIGGGHTS and Palabos. I try to understand the code but there are some parameters that I could not figure out. Hope that someone could help me to explain it.
(1) what is c[iPop][dimension] (line 127). I looked at the Palabos code, c[i][j] seems like discrete velocity vector to me, but I need someone help me to confirm. And i don’t understand if it is discrete velocity vector, the value of direction is 1, what is the meaning to use rescalePop.push_back(iPop) ?
(2) I have no idea what t[ii] mean (line 151)??
Thank you for your time.


it would be better if you could copy-paste the code rather than posting screenshots.

You can even have syntax highlighting with markdown fences (three ` characters).

Now for your question.

  1. Descriptor::c[iPop][dimension] is indeed the c microscopic velocity vectors. The first index is the index which is the same as the label of the populations. The second is the spacial direction (ranging from 0 to 2 in 3D). The rescalePop is a vector containing the indices of the populations (to be rescaled I imagine).
  2. t[ii] is the lattice weights.

Hope it helps,

Yes, It helped me a lot. Thank you for your kindness.
If you do not mind, can I ask you a few more questions or could you please suggest me any articles that can explain my questions ?
1/ I am still unsure about rescalePop. In line 127, what should be the value of direction ? In the original code, the author used 1, but I do not understand why ? If I understand it correctly, line 127 and 128 mean , if the velocity vector in that direction is equal to a typical value, add one more size into rescalePop ?
ftmp is the temporary population, so cell [ii] , does it represent the total density of populations in that cell ? If yes, why plus the lattice weight ?
It might be idiot questions, but I have been stuck and could not find the answers anywhere. So I really appreciate someone help me with these questions. Thank you very much for your time.

Hi Michelle,
Regarding your second question, I had the same interpretation issue as you in the past. The point is that in palabos the populations are the population less the weights, this for accuracy purposes. So, when you want to rescale the population ii, you access to its value doing cell[ii], then you add the t[ii] to have the actual value of the directional density and finally you can rescale it. In the end, you store the value of density-weight back in cell[ii].
I hope this helps :),

Hi Mars,
Thank you for answering my question. It helped me understand more about the code.