CS384g Final project

I implemented an advanced particle system and a heat transfer model on the animator framework. The particle system is set up to model wax and is organized as a three dimensional spring system with heat transfer characteristics. The springs lose their stiffness (spring constant) as they get warmer and warmer. Heat is transferred between adjacent particles through conduction. The particles are also affected by gravity. Each particle also has an associated volume, which it attempts to maintain. As a particle gets crushed by the particle above it and gravity, it pushes outward in all directions in order to reclaim its volume. The result is an effective conservation of volume in the wax system and accounts for the bulging bottom of the candle. The increased pressure is produced by adjusting the critical length of the springs. There is a 40x40x40 grid of wax particles.

There is also a heat transfer system for the simulation of fire. The tip of the wick on the candle produces heat at a constant rate. Hot air rises faster than cold air. Air is moved about by wind. Hot air glows with an intensity and color depending on its temperature, very hot is bright blue, cooler is yellow and more transparent. Colored air is rendered as colored partially transparent spheres. Air conducts heat to and radiates heat onto the wax. The air is also divided into a 40x40x40 grid.

The simulation is run at a t-step of 1/1200 seconds in the air and 1/600 seconds in the wax to ensure smoothness. The wax could have probably be run at 1/60, and the air at 1/200, but it definitely looks nice the way it's set up.

Here's the animation and the source code .