A heat engine performs the conversion of heat energy to work by exploiting the temperature gradient between a hot "source" and a cold "sink"