Crystal growth and nucleation theory and the numerical simulation of igneous crystallization