Skip to content

version 1.0

Latest

Choose a tag to compare

@EMEEEEMMMM EMEEEEMMMM released this 23 Jul 14:51
· 1 commit to main since this release

Simulation Pipeline

Each timestep follows the paper's order:

AddForce (buoyancy) 
→ Advect (semi-Lagrangian, MAC grid)
→ Diffuse (implicit viscosity, Jacobi iteration)
→ Project (pressure Poisson: FFT for periodic, Jacobi for fixed BC)
→ Advect density through divergence-free velocity

Features

  • MAC staggered grid: velocity on faces, density/pressure at cell centers
  • Semi-Lagrangian advection: trilinear backtracing
  • Periodic BC: spectral Poisson solver via 3D FFT (self-implemented radix-2 Cooley-Tukey)
  • Fixed BC: Jacobi iteration Poisson solver (replacing FISHPAK from the paper)
  • Volume rendering: GPU ray-marching, rainbow density colormap, dual-light shading
  • Interaction: left-click injects force + smoke, right-drag orbits camera, WASD to move
  • Full UI controls: grid resolution, timestep, viscosity, buoyancy, dissipation, diffusion, etc.