Supercritical fluid extraction: fundamental principles and modeling methods