blender has many cool features. one of them is smoke simulation. generating those animations is very cpu and memory intensive, but if you have features like these, you just have to test them, even if it takes forever on your pc ;D
here are my humble attempts at smoke simulation.
explosions are squashed from the top because space for simulation is limited (the bigger space you take into computation, the more memory it takes) to small cube.