Interactive 2D fluid simulator using a staggered-grid Eulerian solver with semi-Lagrangian advection and optional BFECC error correction.
S: Cycle visualization mode: Smoke → Pressure → Velocity Magnitude → VorticityA: Toggle velocity arrow overlayP: Toggle particle tracer visibilityH: Toggle help overlay
J: Toggle the jet inletV: Toggle vorticity confinementB: Toggle BFECC advection (sharper, less diffusive)Space: Pause or resume the simulation+/-: Increase or decrease simulation speedR: Reset to the current preset
Select tools with keyboard, apply with left-click drag:
W: Wall tool — draw solid wallsE: Erase tool — remove wallsF: Force tool — push fluid along drag directionK: Smoke tool — inject smoke (also spawns tracer particles)O: Source tool — place persistent velocity sourceN: Sink tool — place persistent velocity sinkTab: Cycle through tools
[/]: Decrease/increase brush radius,/.: Decrease/increase brush strength
- Left-click drag: Apply the active tool
- Right-click drag: Always apply force impulse (regardless of active tool)
- Arrow keys
Up,Down,Left,Right: Toggle the corresponding border wall C: Remove all walls except the active border walls
1: Jet flow (default)2: Lid-driven cavity3: Karman vortex street (flow past circular obstacle)