2D Channel flow with Zou He boundary

I am solving a flow problem for a 2D channel around an obstacle (I will omit this for simplicity). The channel is situated horizontally with a variable velocity being applied on the left side (entrance) of the chamber. On the right side (exit) a pressure is applied. As my solution marches with time, the exit velocity continues to grow and there is no conservation of mass. Therefore, I know something is not right. Will someone please glance at my boundaries and make sure I’m not making a simple mistake somewhere? I will greatly appreciate it!

On the left side (entrance), velocity is given so

On the right side (exit),pressure is given

I have double checked my equations above for the boundary conditions. I believe they are correct. I just don’t understand what is happening in my model. As I mentioned above, I am applying a velocity to the left boundary and a pressure to the right boundary (rho=1). As I march forward in time, the density keeps getting bigger and bigger throughout the flow and the exit velocity on the pressure end keeps getting bigger. There is definitely no conservation of mass. If I apply a velocity to both the left and right side, it behaves as expected. Anybody able to share any feedback?

Is it possible to implement a Zou He pressure AND velocity on one boundary? When I force the inlet pressure to match the exit pressure, mass is conserved and it behaves properly. However, the inlet velocity gets reduced due to forcing the pressure to “1”.

You cannot specify the pressure and velocity independently.
Please post your simulation parameters for the case which is not working (Mach number, number of time steps, pressure gradient etc.)

velocity in lb units is 0.2 (at inlet on left)
Tau = 1.365
grid: 25x100
time steps = 3000
visc 0.288

setting pressure on right side as “1”

Try reducing the relaxation parameter below 1. I once had a problem with a large value of tau in combination with a finite-difference velocity boundary condition. I am not sure whether this solves your problem, but it is a start.
The other simulation parameters seem to be reasonable. What happens if you continue your simulation even longer? Are you sure that the equations for the boundary conditions are really correct (signs, factors)?

My code also suffers from mass conservation problem. My boundary conditions are same as stated by Nano. I appreciate if you let me know how you treated your simulation.


I’m a new comer in palabos, and trting to know about LBM.
my question is that why do we have to put collison process first before the stream process in code?
thanks in advance