Physically Based Simulation of Fire

A project completed with four fellow students for the course TN1008 - Advanced Simulation and Visualization of Fluids in Computer Graphics held at Linköping University in 2013. The simulation consists of two separate sets of incompressible flow equations to simulate the unignited fuel and the hot gaseous products (yellow-orange flame) respectively. We also track the temperature across the simulation since we need to take buoyancy force into account, and to be able to render the simulation with visually good results. A ray casting algorithm was used to render the results.

Since the simulation is physically based, it is possible to fine-tune physical variables such as ignition temperature, fuel density, flame speed, temperature cool-off etc. to create a variety of different types of flames. The project was implemented in C++.

For this project I implemented the vorticity confinement method used to introduce high frequency details in the simulation, as well as gradient operators and parts of the pressure solving method and boundary conditions.

Project report and a video of a few simulation runs can be found below.

Project Report