Curvilinear LBM

Hi All,

Recently I was trying to do a flow over cylinder with Re=100. The cylinder is placed in a channel with uniform velocity at inlet. I need to choose a very large channel width and length in-order to get a good solution.

Re =100 can be achieved using the following values

Tau = 0.75, nu = 0.08333333
D = 80 lu
U = 0.1041666666625 (Uniform Inlet velocity)

Now the boundaries should extend upto 25D on each side which gives the total domain to be 4000 * 4000 nodes, which is lot of grid and takes so much time to run. Now my questions are

  1. Can we use a non-uniform grid in LBM (Curvilinear)
  2. How do we implement a Multi-Grid (Different blocks) with different grid spacing.

Please clarify. Any information on this is highly appreciated.


Hi Narender,

Is it that you need to use these dimensions (eg boundaries at 25D) for some physical reason, or is it because you need this to obtain accurate, stable, converged results?

If it’s the former, then in answer to your question, yes there are multigrid and curvilinear LB methods out there (a quick Google search should bring up some papers). However, even if this were the case, it seems to me that for such a flow you could still use a much smaller (narrower) grid with periodic boundaries on the horizontal walls because the walls should not affect the flow dynamics or von-Karman street when they are that far away form the cylinder.

If it’s for the latter reason (because you need this to obtain accurate, stable, converged results), then of course I don’t know this for sure but I have a feeling you have made a little mistake somewhere along the way. It seems strange that you need so many mesh points for a relatively tame flow (or one at quite an inoffensive Reynolds number). Even when the aspect ratio (the ratio of the diameter of the cylinder to the width of the channel) is quite large you should be able to get reasonable results for Re=100, even for a simple BGK code with naive boundaries, with a much coarser mesh (easily a quarter of the size you have at the moment, and probably easily half that again).

If I had to take a wild guess, I’d say you’ve not implemented your boundary conditions correctly, or have done something a bit wrong at the outlet. Try a periodic boundary condition (on the horizontal walls) with a simple uniform U inlet and extrapolation at the outlet (see Yu et al, for example).

Good luck!

Hi pleb01,

Thanks a lot for the reply. I saw papers on multi grid LBM, but only one or two papers on curvilinear LBM. Most of the open source codes, OpenLB are unifrom grids (Please correct me if I am wrong). Is there something specific why people tend to use only uniform grids in LBM?

Thanks in advance


I don’t know much about curvilinear LBMs as I have never worked with them but I think the reason body-fitting meshes aren’t as popular or as well-documented is simply because in most situations it is simpler, more efficient, and reasonable to use a Cartesian mesh with appropriate boundary conditions. Also, it’s nice to retain the best features of the LBE, such as linear advection and local collisions for fast parallel processing, where there is no need for numerical grid generation techniques. Perhaps this is lost slightly with curvilinear models? (you’ll have to look into this to see if it’s true or not - I am just speculating at the moment) .Of course in some situations body-fitted meshes may be advantageous but for something like flow over a cylinder, standard models seem to work, and are easier. For higher Reynolds number flows with the BGK model will need to have a finer mesh. This will become inefficient so it then might be desirable to have a non-uniform grid which is finer in the regions on high gradients (around the cylinder), but this can be done with a Cartesian grid too.


Thank you very much for your comments. They are helpful.