I have a pretty basic question about Lattice-Boltzmann methods. I heard that this is a meshless simulation method. How do you account for obstacles and boundaries in a Lattice-Boltzmann code. Does it work like a $\Delta x$, $\Delta y$ grid ?
Mesh and Lattice-Boltzmann methods
lattice boltzmann methods
The Lattice Boltzmann is not a meshless method. Actually, when looking at it, it is a finite difference method on an homogenous structured Cartesian grid (dx = dy = dz). However, the variables solved for are not the primary variables (U and P), but are pseudo-populations $f_i$ where $i\in [1,n_p]$ and where $n_p$ is the number of population in the lattices. The lattices in the Lattice Boltzmann method are structures like this one :These populations undergo advection (streaming) and collisions (using a collision operator like the BGK operator) and move from node to node. This allows them to reproduce the pseudo-incompressible Navier-Stokes equations.How are boundary conditions specified? Well there are numerous ways. One of the simple way to apply no-slip Dirichlet Boundary condition is the Bounce-Back rule. This rule makes it so that the populations literally bounce back on the obstacle, leading to a 0 velocity at the position of the interface. There are numerous ways to specify the boundary conditions (extrapolation methods, immersed boundary methods, on-lattice and off-lattice boundary conditions, etc.), but you always need to specify them.Overall, if  you wish to get a very good overview of LBM, I lead you to the Wikipedia article on the matter:https://en.wikipedia.org/wiki/Lattice_Boltzmann_methodsOr to the book by Guo:http://www.worldscientific.com/worldscibooks/10.1142/8806