Practical difference between FVM and LBM?
What is the practical difference between the finite volume method (FVM) and the lattice Boltzmann method (LBM) in the case of computation fluid dynamics? And is the LBM better than the FVM in some cases?
I know that the FVM is more like a general method for solving partial differential equations, and that the LBM has its origin in cellular automata, and solves the discrete Boltzmann equation. But doesn't the LBM result in practically the same computational procedure as for the FVM? That is, a discretized velocity field is being updated, and mass is moved between different discrete locations on the mesh based on this velocity field? I have read, in the pape Animation of Open Water Phenomena with coupled Shallow Water and Free Surface Simulations, that the LBM approximates the NavierStokes equations without the need for an iterative solver by relaxing the incompressibility constraint. But isn't that practically the same as calculating pressure as a function of density in the FVM, instead of enforcing incompressibility by solving a pressure Poisson equation? (Which by the way leads to instabilities for high speeds of sounds, which is the reason why incompressibility is enforced from the first place) Other sources have mentioned that the LBM have advantages over the FVM. It is for example supposed to be better in handling complex boundaries and complex geometries. How is that? What boundaries and what geometries is it that the FVM has problems with, and how does the LBM succeed in handling those in a better way? If you can mention anything that LBM does better than the FVM, except from being simpler to implement perhaps, I would be grateful. 
I would also really like to have answers or a discussion on these questions.

This paper gives an interesting view on the subject:
http://www.sciencedirect.com/science...1999109006147# Although it does not address efficiency. 
All times are GMT 4. The time now is 15:53. 