Computational mineralogy