Wow, this is turning into a watercooling thread
Anyway, this is my setup for adding some details to an explosion (or to some volcano smoke):
volcano_001.zip
Quite simple, as Peter explained. Just think about hot ashes in volcano smoke, with cold air around.
Those hot ashes makes the air expand (positive divergence).
That gives you the basic expansion and rolling motion, that you can break up with vorticles.
let me know if you have any question.
have fun