Simulating Fluid Dynamics with Cellular Automata (1986) [pdf]


79 points | by eigenvalue 114 days ago


  • rxm 113 days ago
    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

    • Lerc 113 days ago
      I implemented a form of this in JavaScript. Worked reasonably well.

      • pengaru 113 days ago
        Neat! Works well here, it'd prolly look much better w/bilinear interpolation sampling the cell states per-pixel.
        • eigenvalue 113 days ago
          This looks awesome. I want to see if I can boost the resolution easily.
        • failrate 113 days ago
          If this is interesting, I recommend joining the Patreon for Loren Schmidt. They create really beautiful CA projects, including environments with humidity/precipitation.
        • atemerev 113 days ago
          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 :)
          • conformist 113 days 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: (A full pdf can be found online, too.)
          • lldbg 113 days ago
            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.
            • hvocode 113 days ago
              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.
              • derjames 113 days ago
                PowerFlow from EXA/Dassault uses LB. It is widely used in the automotive industry mostly for aerodynamics simulations.
            • chronolitus 113 days ago
              I remember having to code a 2d Lattice Boltzmann fluid simulator in Matlab for a college course, how fun and interesting that was!


              • jolincost 113 days ago
                It would be cool if cellular automata could create the factor trees of natural numbers