I’ve been tinkering from time to time with numerical simulations of cloth, fire, clouds, etc. for almost 25 years now. In fact, it was a side project I was doing in college to simulate fire that got me hired as a software developer in the film industry back in the mid 90’s. I haven’t done anything in the past 10 years though.
Back then, computers were much slower, and the process of simulating was very time consuming, but 10 years is a long time for computers to get faster. So a few days ago, I decided to quickly whip up a simple 2D fluid simulator to see how things stand in terms of computer performance.
Here is an early result:
(It is worth mentioning that this render is of a 10m x 10m grid, so it is basically a waterfall pouring into a room all of a sudden. Not filling up a glass of water.)
It now takes about a minute and a half to simulate and render out 10 seconds of this simulation on my laptop (which is not a powerful workstation by any means). Not surprisingly, this is much faster than what I remember from decades past. I’ll be curious to time it on the workstations at the office on Monday and see how much faster it can operate. (It is already multi-threaded, so it will be able to take advantage of the extra cores as well as the faster CPU’s.) I’m also interested to experiment with cluster computing to parallelize computation across multiple computers.
And now that the 2D simulation looks promising, it shouldn’t be too difficult to convert it over to a 3D version.
Then I might look into more sophisticated rendering options.