Thermal cracking for olefins production. Fundamentals and their application to industrial problems