How to make smoke flow in different direction?
Change the Temperature Difference in the Smoke Domain to a negative number.



Form the Blender Manual

Temperature Difference


  The Temperature Difference setting controls how much smoke is affected by temperature.
  
  The effect this setting has on smoke depends on the per flow object 
  
  Values above 0 will result in the smoke rising when the flow object Temperature Difference is set to a positive value, and smoke sinking when the flow object Temperature Difference is set to a negative value.
  
  Values below 0 will result in the opposite of positive values, i.e. smoke emitted from flow objects with a positive Temperature Difference will sink, and smoke from flow objects with a negative Temperature Difference will rise.
  
  Note that smoke from multiple flow objects with different temperatures will mix and warm up/cool down until an equilibrium is reached.