Thermal methods in flow assurance: A review