Populations LBM

Hello everyone,

I’m developing a code using the Shan & Chen model to perform multiphase simulations. I tried to evaluate the forces using the Momentum Exchange Algorithm (MAE) and I realized the populations (f0, f1, …f8) in my simulations are not the ones the LBM theory mentions.

I thought the populations (distribution functions) stood for the probability of molecules moving towards another node in the grid and the sum of them should be close to 1 (since this is the density). However, my results show very low values for the population (f_i values are between 0 and 0.1, but the sum never reaches 1). Besides, I also get negative values and I don’t know why.

Could someone help me out and clarify this to me. Thanks!

By the way, I get the populations using:

std::auto_ptr<MultiScalarField2D > population_0_light=computePopulation(lightFluid,Box2D(0, nx, 0, ny ),0);

More info about the function:
computePopulation(lattice, domain, iPop)
Extract the population iPop on each cell, and deposit the result in a scalar-field. The value iPop ranges from 0 to q-1.
(http://www.palabos.org/documentation/userguide/appendix-functions.html)

Dear edu_1313,

in Palabos, the distributions are shifted with the lattice weights to reduce round-off errors. When using the function “computePopulation”, you actually obtain f[iPop] - w[iPop] not just f[iPop] ( http://www.palabos.org/forum/read.php?4,1808,1820#msg-1820 ). A short description of the theory behind this can be found in the howto section under http://wiki.palabos.org/_media/howtos:singleprecisionlb.pdf

Regards,

kk

Thank you kk! Now everything works fine :wink: