Fluid simulation with colitions based on this article of Mark Harris.
Take a look to this video
Check the Git Repository