Jennifer Liao
Fluid simulation
Position based dynamic(PBD), SPH, Physicsbased fluid simulation in Unity
2D PBD Cloth implemented in CPU
3D PBD Water using GPGPU to optimize
Intro to PBD algorithm
Overall structure
1. Simulation (Eg. Use gravity only)
v += gt
x += vt
2. PBD
Projection() depends on the specific constraint
new x = Constrain(x)
Update velocity and position
v += (new x  x)/dt
x = new x
For Cloth (Jacobi solution)
Projection/Constrain function for cloth
For Water: SPH algorithm(Based on PBD)

For every particle i

Calculate the predicted velocity and position

Only apply gravity and damping, assume mass = 1

v += (Gravity  Damping)*dt

pos += v*dt




Compute the neighborhood set.

Using the neighborhood, compute density > pressure as a constraint.

Update the position and velocity

Calculate the viscosity and update the velocity