Algorithm fix for fluid particles:
authorJanne Karhu <jhkarh@gmail.com>
Thu, 18 Nov 2010 19:12:36 +0000 (19:12 +0000)
committerJanne Karhu <jhkarh@gmail.com>
Thu, 18 Nov 2010 19:12:36 +0000 (19:12 +0000)
commit71721f02fc8ae1cfab254bfe575fdf27f849c5c1
treee80b16ed451e7c45a892917af4435c23248c23bc
parentaef3e99eab6db507bf852adf9aa269a76158d991
Algorithm fix for fluid particles:
* The SPH fluid particle algorithm was implemented a bit wrong. This problem could for example result in the fluid moving sideways after being dropped straight to a horizontal collision surface, a very big no-no as far as real world physics are concerned!
* After some extensive code shuffling the algorithm is now much more true to the paper it was implemented from, and more importantly now the physics should be correct too!
* The main thing was that fluids calculations can effect many particles simultaneously, so just a single loop through all particles can't work properly. As a side note this also means that the actual fluid algorithm can't be made threaded :(
* To make things work I also had to reshuffle some general particle physics code, but there should be no functional changes what so ever to other physics types, so poke me immediately if something strange happens.

Note to users: these changes will most probably effect the way previously done sph fluid simulations look, so some parameter tweaking will be needed to get things back looking the way they were.
source/blender/blenkernel/BKE_particle.h
source/blender/blenkernel/intern/particle_system.c