A quantum mechanical periodic ab initio approach to Materials Science: the CRYSTAL program