Hacker News new | past | comments | ask | show | jobs | submit login
Simulating Fluid Dynamics with Cellular Automata (1986) [pdf] (wolfram.com)
79 points by eigenvalue 1 day ago | hide | past | favorite | 14 comments

Amazing things can happen when cellular automata have symmetries. Conserve number and momentum and you're a few steps from the HPP gas [0]. Make the momentum flow a bit more isotropic, and you are on your way to the FHP gas [1]. The history I remember is that Hasslacher and Wolfram had overlapped at the IAS early 1980s. On the summer of 1985 Hasslacher visited Frisch in Nice. It was there that they guessed that the hexagonal lattice might brake the strange conservation laws of HPP. After that it was a few days until they had a set of rules for the lattice gas fluid in 2d. From France Hasslacher called Shimomura at Los Alamos and asked him if could implement them. In a few days Shimomura has a crowd staring at his screen watching a simulation of a fluid flow past an obstacle shedding vortices in real simulation time. We can do that today with our smartphones, but at the time it must have been a first.

[0]: Hardy, Pomeau, & Pazzis (1973) JMP: 10.1063/1.1666248

[1]: Frisch, Hasslacher, & Pomeau (1986) PRL: 10.1103/PhysRevLett.56.1505

I implemented a form of this in JavaScript. Worked reasonably well.


Neat! Works well here, it'd prolly look much better w/bilinear interpolation sampling the cell states per-pixel.

This looks awesome. I want to see if I can boost the resolution easily.

If this is interesting, I recommend joining the Patreon for Loren Schmidt. They create really beautiful CA projects, including environments with humidity/precipitation.

Yes, and follow the latest work of Alexander Mordvintsev, e.g.: https://distill.pub/2020/growing-ca/

I remember having to code a 2d Lattice Boltzmann fluid simulator in Matlab for a college course, how fun and interesting that was!


It would be cool if cellular automata could create the factor trees of natural numbers

And now, lattice Boltzmann methods are completely mainstream, and are used everywhere in a huge variety of contexts. I was coding a LB simulation of virus carrying aerosol particles with OpenLB just a few hours ago :)

Exactly, Wolfram's work is kind of an early(ish) predecessor of LBMs. For a more general introduction into lattice-based methods (that also references Wolfram's paper) see also here: https://www.annualreviews.org/doi/abs/10.1146/annurev.fluid.... (A full pdf can be found online, too.)

Well known in academia, but what type of industrial applications is it used in? To my knowledge most mainstream software suites run plain old RANS finite volume schemes.

I’ve seen people speak about applications of LBM-based models in medical contexts like modeling blood in arteries with complex geometries. You can see applications on the pages for OpenLB and Palabos, which I believe are some of the more mature implementations of Lattice Boltzmann. Unfortunately it’s a bit hard to find references to industrial users since in my experience most industrial users don’t advertise the methods that they are using. I usually would find out about them by meeting people from industry at conferences where these tools would be talked about like the SIAM conferences and HPC conferences like SuperComputing. At one of my old jobs where some folks were implementing parallel LBM tools one of our major industrial partners came from the petroleum industry, and they were interested in flow through complex geometries to model fluids + porous rocks.

PowerFlow from EXA/Dassault uses LB. It is widely used in the automotive industry mostly for aerodynamics simulations.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact