Force term in lattice kinetic scheme

Hi all,

I’m implementing very simple lattice kinetic scheme (LBM with tau = 1), and I’ve ran into some strange problems. I’m following Orestis Malaspinas’ thesis, ( page 47).

Imagine hypothetical problem: Steady homogenous fluid, with periodic boundary conditions. A constant force is applied in one direction. I believe, that the fluid should be constantly accelerating. But if I implement this numerical scheme, it does not move. I will explain things in terms of LBM, although I’m using the kinetic scheme.

At the beginning, all the particle velocities are the same, and set to equilibrium ones, with equilibrium f^eq + tau F (that means, including the force term). The velocity is computed, and according to Malaspinas’ thesis, equation 2.118, the velocity is corrected: u = u(computed) + g/2. This velocity is zero. After first streaming step, all particle distributions remain the same, so does the corrected velocity, the fluid does not move.

Is there any difference in implementing force term, in lattice kinetic scheme?

I tried to disable the velocity correction, when simulation Poiseuille flow, I get some parabolic profile, but the velocity seems to rise indefinitely. Maybe the problem is, that the initial distribution should not include the force term? I tried to set initial velocity to -g/2 (assuming, it will cancel the effect of force term). In Poiseuille case, it moves the fluid a bit, but the velocity is very small.

I’m a bit confused with all this :wink:

Thanks for any ideas,



I know very little about gas kinetic schemes and I’m nor sure I understand your problem so I’ll just make some very quick remarks (related to LBM)

  1. If you impose a constant body force your fluid should steadily flow with the velocity determined by the force. If you have no-slip boundary conditions your solution should reach a steady state and it should be (almost) that of Poiseuille flow. If your solution is not close to this then your code is incorrect.

  2. If you include a body force R_i in LBM then you must also consider the third moment of R_i. Indeed, R_i should obey the following three moments

a)sum_i R_i=0,
b) sum_i(R_ic_i)=F (where F is the force in the hydrodynamic equation)
c) sum_i (R_ic_ic_i)=Fu+uF.

If the third equation is not met then the force will affect the viscous stress. This may not be relevant to gas kinetic schemes and may not to important for Poiseuille flow but, in LBM, in should be met in general.

There is an abundance of literature on body forces and Poisueille fflow with LBM. See, for example, He at al (1997). For some interesting (but not easy!) theory, see Ginzburg and Adler 1994.

One more point is worth making. You can not get exact solutions for Poiseuille when using the BGK operator with bounce back, so please be aware of this.