LBM for High Velocity Flow

Could somebody explain me how to simulate high velocity flows ? If I’m understanding right the stability condition says that maximum velocity should be smaller than sound speed cs (for typical lattice cs=1/3)… but if I have inflow velocity let’s say 1 [m/s] ? Of course I can change for example viscosity with smaller velocity to get the same flow characteristic (the same Reynolds number) but for complex system computing Re number it’s simply imposible and I need universal method for incompressible flows with local velocity in the range of 1 [m/s] to 10 [m/s]. For most cases higher velocity means greater instability.

1 Like

Hi Arch

I think I have the same problem like yours

I tried collision semi-implicit iterative method but I couldn’t get the the results as the author of the paper maybe I have improper implementation of this method.
“Implicit Schemes for the Lattice Boltzmann Equation”, 2004, Maksat Ashyraliyev
“A Monolithic, Off-Lattice Approach to the Discrete Boltzmann Equation with Fast and Accurate Numerical Methods” 2011, Thomas Hübner

Also I tried non-equilibrium limiter, this one works fine but according to my trails you have to select the proper constant for the limiter other wise you will get too much fluctuation.
“Nonequilibrium entropy limiters in lattice Boltzmann methods” 2008, R. A. Brownlee, A. N. Gorban ?, J. Levesley

if I was correct, we should dig in implicit or entropic LBM to solve this problem .

please also if you know other ways to make LBM works at high reynold number could you share them with me?

regards

In my opinion (pleas correct me if I’m wrong) there are two different situation:

  • First, is the model for Hi-Reynolds number flows
  • Second, models for High velocity flow’s.

Of course for higher velocity, we get higher Re but….

In the case of models for Hi-Reynolds number flows most of articles concentrates on the relaxation time problem (when tau<0.5) which means that the main aspect here is a stability for low viscosity model… but what about velocity ??? For LBM relaxation time is completely independent from velocity so it’s means that You get stable flow for low viscosity problem but if local viscosity > cs simulation will crash…
There are some model’s for high velocity but for compressible flows… I’m interested in incompressible flows… so I have only question:

How to simulate single phase incompressible flow, let’s say in complex pipe system (where we cannot simply compute Re number), for inflow velocity v_in=3 [m/s] ?

Both velocity and relaxation time in the LBM depend on the discretisation parameters, ie space and time step, and you need to adjust them accordingly, making sure the viscosity is positive and the Mach number is small. It is true that this may make your computations quite expensive. Indeed, if you are solving a quite simple flow then you may be better off using a different numerical method - it depends on what you are doing. Also, flows with the same Re numbers are equivalent. I am sure this is very obvious and I appreciate that a typical lengthscale may be difficult to define in your case. However (and perhaps I am saying this because I am not an engineer), I think it is always best to try and work with the non-dimensional system and then discretise this to get your LB algorithm (you can very high grid Re numbers with a good LBM).

Hi,
I would like to suggest using regularized lattice Boltzmann or MRT-lattice Boltzmann. As for entropic LBM, if you are interested in developing the algorithm go ahead; if your interest is purely application, better not.

I have done all the coding. Regularized lattice Boltzmann (RLBM), the MRT, and entropic LBM. The simplest and most reliable is RLBM.

Check my work.

Application of Regularized Lattice Boltzmann Method for Incompressible Flow Simulation at High Reynolds Number and Flow with Curved Boundary
Muhammad IZHAM, Tomohiro FUKUI and Koji MORINISHI
Journal of Fluid Science and Technology, Vol. 6 (2011) No. 6 pp.812-822

Everything inside is basic stuff, but I think its worth looking at.

There’s something I’ve been a bit confused about. If the regularised LBE explicitly sets f^(out)=f^e+(1-1/tau)f^1 so that the momentum flux tensor is correct, then isn’t this just like making sure that all the ghost moments (the non-hydrodynamic ones) decay to their equilibrium straight after collisions? If so, then how is the regularised LBE different to a type of MRT scheme that does exactly this - relaxes the ghost straight to their equilibrium (relaxation time is then probably equal to one) so that they have no influence on the simulation? (remember there is not one MRT model).

Is this true or have a misunderstood something (I misunderstand a lot!)? If it is true that the RLBE is probably no simpler because the ghosts modes do not have to appear in the code at all - you only need to compute the momentum flux if everything non-hydrodynamic decays to equilibrium in one time step. The other problems are then related to incompressibility and boundary conditions, but the RLBE will be a class of MRT model.

I’m not sure about this so thanks for the interesting discussion.

If the regularised LBE explicitly sets f^(out)=f^e+(1-1/tau)f^1 so that the momentum flux tensor is correct, then isn’t this just like making sure that all the ghost moments (the non-hydrodynamic ones) decay to their equilibrium straight after collisions? If so, then how is the regularised LBE different to a type of MRT scheme that does exactly this - relaxes the ghost straight to their equilibrium (relaxation time is then probably equal to one) so that they have no influence on the simulation? (remember there is not one MRT model).
This is a good question. RLBM is a type of MRT in a sense that the collision is done in moment space, but, unlike MRT, it is not just the ghost modes; RLBM eliminates other non-hydrodynamics modes as well. The collision matrix is a bit different. Please refer to Latt’s work. My experience? Well, I did try setting the ghost modes relaxation parameter to 1.0 in MRT and I did not get the same result.

Is this true or have a misunderstood something (I misunderstand a lot!)? If it is true that the RLBE is probably no simpler because the ghosts modes do not have to appear in the code at all - you only need to compute the momentum flux if everything non-hydrodynamic decays to equilibrium in one time step.
This part is trade secret.

Anyway, talk is cheap. Try constructing the code. You will be amazed at how good RLBM is.

I should point out that when I think of MRT I don’t necessarily mean the type of collision operator made famous by Lalllemand, D’Humieres and others. This, in my opinion, is a specific type of LBE. We could (and can) construct a collision operator with a different basis; for example, one based on a continued Hermite expansion.

Let’s stick with the D2Q9 model to keep things simple. This model has 9 independent moments. 6 of these are hydrodynamic. The other 3 are ghost modes. There are no other moments in the D2Q9 model - all others can be formed by linear combinations of these (they form a basis for a linear operator). We can get hold of the ghost modes and use them in the relaxation process. We can set the equilibrium of these moments and the associated ghost relaxation parameters so that they vanish after collision (decay to zero in one timestep). Isn’t this the same as the RLBE? I haven’t had the time to go through it properly but is seems to be so, and this is why I asked. Although I haven’t implemented the RLBE (unless it is the same, in which case I would have done so inadvertentlyy) I do know that the MRT that I mention above can easily simulate flows with Reynolds numbers of the order of tens of thousands on rather coarse meshes, and this has been known for 10 years. Boundary conditions can be a problem though, as for any LBE, so I don’t think this is exclusive to this MRT and I think a slightly different topic…although different models are far better at including correct and stable boundary conditions, such as TRT, so the RLBE may be nice for this reason…?

Now, I’m not saying one method id better than the other, nor am I saying one method is equivalent to the other, at the moment at least… I’m wondering about it, and I was hoping someone else already has…?

hi

I don’t know about RLBE.please explain it.which part of my code should i change?how?

please guid me!

What people are calling “regularized” LBE is just the LBE with an MRT-type collision operator. It is the MRT model shown in Dellar 2003 with a specific choice of ghost relaxation times and equilibria: the relaxation times are chosen so that the non-hydrodynamic moments decay straight to their equilibrium after collisions, and these equilibria are zero. This is probably the simplest particular case, but one that works well (in terms of stabilisation). The non-hydrodynamic moments are defined to be the next three Hermite polynomials in the Grad-like expansion of f_i. Full details are in Delllar 2003. The same approach (ie making ghost moments decay instantaneously) was used in early LB literature by the likes of Anthony Ladd, and is very similar to the motivation behind the really early MRT operators by people like Succi (I am sure the references are in Dellar 2003). To code it you: 1) compute moments; 2) relax moments; 3) reconstruct f from the post collisional moments (ie project the moments back into particle space). Since the ghost moments decay to equilibrium in one time step, and since these equilibria are set to be zero, you never actually have to compute them in your code.

Hello everybody,
Perhaps Arch was meaning to a flow with higher Mach number ?? By higher I mean 0.5, 0.8, compressible flow …

LBE is restricted to small Mach numbers - usually no higher than perhaps 0.2. Indeed, the equilibrium function in the LBE is a small Ma expansion of the Maxwellian. There is no way around this with classical LBE. A possible alternative would be to increase the lattice space by a higher order Hermite expansion (ie a more quadrature points), while also expanding the Maxwelllian to the same order in Hermite polynomials. I’m afraid I don’t know if this will work or not, and this is of course different to high Reynolds number flow.

hello every one
I want to simulate non-darcy flow with FEM. can you suggest some references abou this.
thanks

Hi

The explanation can be guided in this way. Please, take a look at table 1 in On pressure and corner boundary conditions with two lattice Boltzmann construction approaches

Mathematics and Computers in Simulation
Volume 84, October 2012, Pages 26–41

which also available
here

As you can see in that table 1, the lattice flow velocity is limited so that u^3 can be neglected. Any manipulation to go around it, are numerical artifacts, and their solutions are somehow questionable.

Good luck

Please also note, with particular reference to D2Q9, the u^3 term is the Gallilean invariant term that has been know since the beginning of LB theory. See Qian, Europhys. Lett.1993, for example, and the references therein.