iPhone fluid simulation

有人知道iPhone的流体引擎?我需要水和气体模拟。


Simulating fluids is a tremendous challenge for modern desktop computers, so I would not expect the greatest performance when trying to get this working on a mobile device. Running full Navier-Stokes calculations on the iPhone is probably going to chug pretty badly.

However, in the past I was able to perform 2-D fluid modeling simulations on limited hardware using lattice gas automata. With lattice gas automata, you approximate a fluid as a fine hexagonal grid, where particles can travel in one of six directions and obey specific collision rules. There are some limitations to this approach (addressed by the Lattice Boltzmann Method), but it can do a very good job of simulating fluids, even including compressible ones like air. Why this works well on limited hardware is that these calculations can be done using bitwise operators and simple lookup tables, without the need for any floating point calculations. You might be able to make something like this work on the iPhone's processor. For more on this technique, you can consult Appendix A of my Ph.D. dissertation, where I explain the process and have source code for a fluid modeler I wrote.

That said, if all you want to do is mimic the appearance of water in your application, the answers to the following questions provide some good suggestions:

  • "How to implement water ripples?"
  • "How do I make a water effect view with openGLES on the iPhone?"

  • I have just released an iPhone fluid simulator that uses a compressible particle in cell method. I have a video here: http://www.youtube.com/watch?v=-CCeeh8EzuA

    An incompressible fluid simulator requires many iterations, so I use a compressible simulator. The good thing is if you can make a compressible simulator stable enough, it usually looks incompressible enough.

    My app is called GFlow on the app store if you want to see it in action.


    I have release two iPhone apps. One app solves the Navier Stokes equations:

    http://itunes.apple.com/us/app/fluid-dynamics/id382274493?mt=8

    and the other one uses a compressible particle in cell method:

    http://itunes.apple.com/us/app/liquid-dynamics/id417814216?mt=8&ls=1

    A description of the methods used is founde here:

    http://www.infi.nl/blog/view/id/71/Navier_Stokes_iPhone_vs_iPad

    and here:

    http://www.infi.nl/blog/view/id/98/Liquid_on_iPhone_and_iPad

    链接地址: http://www.djcxy.com/p/50010.html

    上一篇: iPhone流体模拟(如在液体应用程序中,使用重力等)

    下一篇: iPhone流体模拟