This is an independently-computed 2D model of the same real phenomenon as the 3D companion sim — not a flattened camera view of it. The chamber here is a genuine 2D disk (a cross-section deck, not a projected cylinder), and every quantity — position, velocity, the airflow field, droplet "size" — is computed natively in two dimensions from the first line of code.
Each droplet feels Stokes drag from a radial airflow field that converges on the vent and falls off with distance:
v_air = suction / (1 + 2.2·dist) · dir_to_vent
dv/dt = (v_air − v) · min(1, 2.4/r · dt) (small r ⇒ fast response, exactly as 3πμr drag scales)
Two droplets that touch merge into one — but because a 2D droplet's "size" is a disk footprint (area ∝ r²) rather than a 3D sphere's volume (∝ r³), the conserved quantity here is area, not volume:
r_new = √(r1² + r2²) (2D-native area conservation — the true 3D analog would be volume, r³)
Toggle gravity to see the same failure mode the 3D sim shows: droplets sink to the lower rim and stick there permanently, forming an unreclaimed pool, because only airflow — not "down" — actually reaches the vent. Drag the vent around the rim to watch the whole convergent flow field (drawn as arrows) and every droplet trajectory re-align toward the new suction point in real time. The right-hand panels track reclaimed volume over time and the live droplet-size distribution — small droplets get swept away fast, while merged, larger ones lag behind exactly as 3πμr drag predicts.
- Suction strength — vent airflow magnitude at zero distance; falls off with 1/(1+2.2·dist).
- Surface tension — how far apart two droplets can be and still coalesce on contact.
- Gravity toggle — the naive Earth-style "let it settle" approach, which never reaches the vent.
- Drag-the-vent — repositions the sink; the flow field and every droplet's pull direction update instantly.