# Lattice refining and timestep size questions

hi guys, i’m facing a problem of a poiseuille flow past a cylinder. i started with a simulations with this parameters:

Nx = 256
Ny = 64
Rcylinder = 10 (placed in the middle of the channel)
dx = 1
dt = 1
therefore c = 1 and cs = c/sqrt(3)

umax = 0.001
omega = 1/tau = 1.9

therefore viscosity = (1.0 / omega - 0.5)*(cs**2)*dt = 8.77E-3
Re = dx * ny * umax / viscosity = 7.3

Now imagine i want to leave the reyolds number unchanged but i want a higher resolution ( bigger nx ny and R) i did this way :
i doubled ny nx and Rcylinder and i Halved Umax:

Nx = 512
Ny = 128
Rcylinder = 20 (placed in the middle of the channel)
dx = 1
dt = 1
therefore c = 1 and cs = c/sqrt(3)
umax = 0.0005
viscosity is the same as before
Re = dx * ny * umax / viscosity = 7.3

is this correct?i found that the simulations in this situation require more TIMESTEPS to reach the steady state but should give the same results (or maybe a little bit more accurate ones).

is this because in this way i also halved the Delta t in physical units?
(same L in physical units , more lattice points to describe it and therefore a Delta t which is smaller in physical units)

this is a HUGE problem because:

doubling the resolution will lead to a slower simulation ( more operations) AND in a smaller Delta t and therefore MORE timesteps to reach the steady state…

Any suggestions on how to overcome such a problem?
i thought to change the Lattice speed c, but any suggestio will be very appreciated

If you want to do a consistent mesh refinement study, you should really keep umax (ie c) the same, because this fixes the Mach number. I would fix the Reynolds number and fix the Mach number (ie the scaled lattice velocity uLB=U/c=dt/dx if your characteristic velocity is U=1).

If you change the number of grid points (ie the size of dx) with a fixed U and Re then only the relaxation time changes (and of course the size of the timestep). The more you refine your mesh, the longer your simulations are going to take. This is common for an explicit finite-difference-type numerical method. You could change the size of dt relative to dx as you increase the number of points, but this will change the Mach number and the accuracy of the algorithm. A umax of about 0.1 or 0.01 might be sufficient. It is also possible to use a non-uniform mesh in LBE.

On top of that, if you’re looking for steady-state solutions, there exist different ways to speed up the simulation. You can for example start with a large uLB to converge to the steady state fast, and then lower uLB progressively to gain accuracy. This method has been published under the name of Mach-number annealing. There exist also other techniques, if you google for example for “preconditioned lattice Boltzmann”.

thank you pleb for your suggestions, they were very useful.
and thank you too jonas, looking for preconditioned lattice boltzmann i found this article : http://www.ncbi.nlm.nih.gov/pubmed/15697552

with very simple operations the steady state was reached far before than the non preconditoned one.

i want to ask you another question now, i’m taking a phd on nanoparticles moving in microchannels so i’m looking forward to implement moving particles in a thermal fluctuating fluid.

In this enviroment the particle-wall interactions are important and a lattice refinement between particle and walls is usually needed, i read that there’s the possibility to have a lattice that is refined near an obstacle and coarsed far from it, but is it possible to have a refined lattice which is moving WITH the particle.

i hope that what i wrote is clear enough.