
Jennifer Liao

Fluid simulation
Position based dynamic(PBD), SPH, Physics-based 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

