1.1 History of USPEX

Since the main subject of this thesis is about developing and employing the USPEX code. It is necessary to give a simple overview of the code development and its main feature.

USPEX employs an evolutionary algorithm devised by A.R. Oganov and C.W. Glass, with major later contributions by A.O. Lyakhov and Q. Zhu. Its efficiency draws from the carefully designed frame of the algorithm (type of selection, niching, etc.) and problem-specific variation operators, while its reliability is largely due to the use of state-of-the-art ab initio simulations inside the evolutionary algorithm.

A major motivation for the development of USPEX has been the discovery of the post-perovskite phase of MgSiO3, which has been made independently by two groups in 2004 and has significantly changed models of the Earth’s internal structure 14; 15; 16. The development of USPEX started when C.W. Glass joined Oganov’s group in August 2004. In 2006 -2008, when Yanming Ma was A.R. Oganov’s postdoc and applied USPEX to a number of important problems, many new results were obtained. A new major turn took place in August 2007, when A. Lyakhov took over the role of the main code developer. Space group determination was contributed by visiting student Y. Wang. Q. Zhu (current USPEX master and an active code developer) joined us in September 2009. By September 2010, when USPEX was publicly released, over 50 paper (including 2 in Nature, 5 in Phys. Rev. Lett., 4 in PNAS) were written on USPEX or using this methodology, and its user community numbered nearly 200. The popularity of USPEX is due to its extremely good efficiency and reliability. This was shown in the First Blind Test for Inorganic Crystal Structure Prediction, where USPEX outperformed the other methods it was tested against (simulated annealing and random sampling).

In its current version, the code has a minimal input: the number of atoms of each sort, pressure-temperature conditions and algorithm parameter values: size of the population (i.e. the number of structures in each generation) and its percentage used for producing the next generation, constraints, and percentages of structures obtained by lattice mutation, atomic permutation and heredity. Other parameters define how often structure slices combined in heredity are randomly shifted, how many atomic permutations are done per structure, and how strong lattice mutation is. The use of specially designed fingerprint functions for niching helps to speed up structure search and prevent sticking to local minima. Optionally, calculations can be performed under fixed lattice parameters (if these are known from experiment). It is possible to perform variable-composition simulations, where one specifies only the atomic types, and USPEX should find both the stable compositions and the corresponding structures. It is also possible to predict structures of low-dimensional objects - nanoparticles and surfaces, and to study packing of molecules in molecular crystals.