Karl Fredrickson made the script
more accurate. He wrote:
"I was also interested in your fluid simulations and tried to fix the asymmetry in the fluid droplet and hot/cold fluid demos on your site. I ran into similar problems when I was writing a WebGL fluid demo, and found that it can be improved by using symmetric linear interpolation when you sample from a texture, especially in the advection step. This does seem to improve the symmetry (see attached files, where the "getSampleSymmetric" function is used in advection). The other shaders were also changed slightly to make all the math symmetric. They still do become asymmetric eventually... I'm not sure why that happens - maybe asymmetric rounding in floating point math?"