I intend to model index of refraction as a function of heat in 3D space. This is what causes mirages and the shimmer in the air behind a jet's engines.
I intend to model this by placing a "heat map" (like a texture map) over objects that I want heated. The heat map will then warm the air around it using some simple form of the heat equation in 3D space. I'm not yet sure how simple to make this equation, but I'm sure as hell not going to model a nonlinear PDE with vortices and the works!!! As great as realism and pushing the boundaries of fluid dynamics research is, I like sleeping over 3 hours a day; so I'll use something simple. I'm not yet sure how simple to make it, but my guess is turbulence will be just some simple weighted random number (all I want is a shimmer effect after all) and the rest of the equation will be some simple solution of the linear heat PDE, or some equation that I come up with that is not at all physically based, but gives cool images--a hack if you will. Oh, I might even solve it numerically, which might give better results as well as allow super complicated equations...
Now that I can find temperature at a point in space, I will divide up the scene into a bunch of little voxels where each voxel holds the temperature in that area. In order to speeds things up, once the voxels are far away enough from heat sources that their heat is below some ε, I can just stop there and not calculate the further values. I can then combine this with a grid based acceleration scheme to calculate the new direction of the ray as it enters each new voxel using good old snell's law.
My references to relevant research are: what I learned in my Widely Applied Physics class, where we talked about mirages and other atmospheric phenomena; my Advanced Engineering Mathematics textbook which contains stuff on solving PDEs; the wonderful lrt book for where I'll be learning lots of new and exciting things!
I'll be working by myself on this.
Here is a picture of a mirage on road (look at the very end of the road)
And hear is one of the shimmer caused by jet engines (put a heat map on end of each engine and if I want the wind effect as well I'll just change the weighting of the random turbulence function... )