Hacker News new | ask | show | jobs
by doop 4599 days ago
I was under the impression that lattice gas methods in CFD were more or less obsolete. They're nice in that they're unconditionally stable and only use bitwise operations, but the amount of CPU time you save from this is massively outweighed by the number of simulation runs you need to do to average out the noise. They're also not Galilean invariant (at least not without messing around with rescaling factors). Lattice Boltzmann is much more practical.
1 comments

Right, but fundamentally Lattice Boltzmann is just an optimization on top of lattice gas automata. It's continuum-ing up from a CA rather than discretizing down from Navier-Stokes.

And the Galilean invariance thing is kinda cool: who knew that you didn't need something as fundamental as Galilean invariance?

You can see it as continuum-ing up from a CA, or you can see it as a discretization of the continuum Boltzmann equation.

What do you mean you don't need Galilean invariance? In the real world, fluid motion is Galilean invariant (unless you're talking relativistic motion, which is a whole other class of thing that lattice gases have trouble with). You might be simulating something but it sure ain't a Navier-Stokes fluid.

Aha! Physical fluids aren't Naiver Stokes, which is just a continuum approximation that was invented before atoms were even a scientifically established idea. Which of course you know already, but it means it is begging the question a little to say "you might be simulating something but it sure ain't a Navier-Stokes fluid".

For Galilean invariance, I've previously waxed philosophic about why I think that's a feature, not a bug (at least, pedagogically): http://news.ycombinator.com/item?id=5931434

They might not be strictly Navier-Stokes but the way in which real fluids deviate from N-S is completely unlike the way in which lattice gas fluids deviate from N-S. Absolutely, you can discretize time and space and get a useful fluid model, and (as Wolfram showed in a very good paper in 1986) you don't even have to worry too much about isotropy, as long as your lattice obeys certain constraints. You do need Galilean invariance, though.

Look, I do get your point about lattice gas fluids being interesting conceptually, and I do think they make an interesting point about how little you can get away with and still yield a useful fluid model at the macro scale, but I don't think they're a good example of a trend towards NKS-style methods. If anything the trend in that field since the late 90s has been away from NKS and towards seeing the lattice Boltzmann method as a solver for continuum treatments at the Boltzmann (rather than N-S) level.

> the way in which real fluids deviate from N-S is completely unlike the way in which lattice gas fluids deviate from N-S

Can you describe more how the deviations deviate? Specifically, how do these differences affect numerical solutions?

> If anything the trend in that field since the late 90s has been away from NKS and towards seeing the lattice Boltzmann method as a solver for continuum treatments at the Boltzmann (rather than N-S) level.

Also, which continuum are you referring to here? Number of particles? Lattice spacing?

Off the top of my head (it's quite a while..), lattice gas models wind up giving you a velocity-dependent viscosity, i.e. the viscosity of the fluid is a function of how fast it is travelling relative to the lattice. This is unphysical to say the least: while I think you can apply some sort of rescaling to alleviate it, it doesn't make it any easier to get to high Reynolds number flows: that and the huge amount of averaging make lattice gas rather impractical compared to later methods.

> Also, which continuum are you referring to here? Number of particles? Lattice spacing?

By continuum I mean you write down the continuum Boltzmann equation, i.e. a partial differential equation for the evolution of the single particle distribution function. You can then discretize this onto a lattice to recover the lattice Boltzmann method.