Particle-based Fluid Dynamics