MRT example

Dear all,

I am trying to simulate a simple 2d lid driven cavity flow using the MRT D2Q9 method (following the “Theory of the lattice Boltzmann method: Dispersion, dissipation, isotropy, Galilean invariance, and stability” by Pierre Lallemand and Li-Shi Luo).
The results are ok using only SRT, but are far from the typical benchmark results for this flow when I use MRT even for very fine grids. Apparently an implementation or conceptual error (of mine) is spoiling the results.

Any short and simple working demo example using MRT would greatly be appreciated.

Thank you for your time.

Kind regards,

Hi everybody,

I have a very similar problem.
I simulated the 2D cavity with the BGK and the MRT model implemented in Palabos. The BGK model works very well but the MRT model doesn’t.
The results in the beginning are as expected, but the vortex wears off and then a vortex in the other direction develops.
I implemented the MRT model with the following lines:

#define DESCRIPTOR MRTD2Q9Descriptor
typedef MRTdynamics<T,DESCRIPTOR> BackgroundDynamics;

MultiBlockLattice2D<T,Descriptor> lattice (
parameters.getNx(), parameters.getNy(),
new MRTdynamics<T,DESCRIPTOR>(parameters.getOmega()) );

my parameters are:

(T) 0.01 – uMax
(T) 200. – RE
100 – N

  1. – lx
  2. – ly

maxT was very high
Everything else is from the cavity2d case.

Did anyone encounter similar problems? Or knows if and what I did wrong.

Thank you

I have posted a simple MRT code (MATLAB version) on my page.

may be that can help. it is implemented for flow between parallel slit.


First, thanks shadab for your sample code, once again we are trying to do the same thing at the same time :slight_smile:

I have implemented my own MRT code based on that posted by Shadab. To test this code I set the parameters so that the model reduces to LBGK, that is I set all s=1/tau, and the adjustable parameters according to Lallemand and Luo’s paper. For both Poiseuille flow and cylinder flow the solution is unstable and breaks down within 100 time steps, any ideas?


edit: I solved the problem, turns out I had a typo in my equilibrium momentum

thank you very much for posting your code. It was very usefull. Good luck with your work.
Kind regards,