While theory and simulation are significantly simpler for homogeneous nucleation, in most practical situations, heterogeneous nucleation is perhaps the only practically relevant nucleation mechanism. Heterogeneous nucleation process is sensitive to liquid-solid surface interactions, presence of surface cavities/crevices and pockets of pre-existing gases. Due to this complexity our current understanding of heterogeneous nucleation it is mostly phenomenological in nature.