Prediction of the stable and metastable structures knowing only the chemical composition. Simultaneous searches for stable compositions and structures are also possible.
Incorporation of partial structural information is possible:
constraining search to fixed experimental cell parameters, or fixed cell shape, or fixed cell volume (Subsection 4.6);
starting structure search from known or hypothetical structures (Subsection 8.4);
assembling crystal structures from predefined molecules, including flexible molecules (Subsection 5.1).
Efficient constraint techniques, which eliminate unphysical and redundant regions of the search space. Cell reduction technique (Oganov & Glass, 2008).
Niching using fingerprint functions (Oganov & Valle, 2009; Lyakhov, Oganov, Valle, 2010). Subsection 4.9 for details.
Initialization using fully random approach, or using space groups and cell splitting techniques (Lyakhov, Oganov, Valle, 2010).
On-the-flight analysis of results — determination of space groups (and output in CIF-format) (Subsection 4.11), calculation of the hardness, order parameters, etc.
Prediction of the structure of nanoparticles and surface reconstructions. See Section 5.2 for details.
Restart facilities, enabling calculations to be continued from any point along the evolutionary trajectory (Subsection 4.7).
Powerful visualization and analysis techniques implemented in the STM4 code (by M. Valle), fully interfaced with USPEX (Subsection 8.1).
USPEX is interfaced with VASP, SIESTA, GULP, LAMMPS, DMACRYS, CP2K, Quantum Espresso, FHI-aims, ATK, CASTEP, Tinker, MOPAC codes. See full list of supported codes in Subsection 2.5. Interfacing with other codes is easy.
Submission of jobs from local workstation to remote clusters and supercomputers is possible. See Section 8.9 for details.
Options for structure prediction using the USPEX algorithm (default), random sampling, corrected particle swarm optimization (Subsection 5.5), evolutionary metadynamics (Subsection 5.4), minima hopping-like algorithm. Capabilities to predict phase transition mechanisms using evolutionary metadynamics, variable-cell NEB method (Subsection 6.1), and TSP method (Subsection ).
Options to optimize physical properties other than the energy — e.g., hardness (Lyakhov & Oganov, 2011), density (Zhu et al., 2011), band gap and dielectric constant (Zeng et al., 2014), and many other properties.
For ease of programming and use, USPEX is written in MATLAB and it also works under Octave (a free MATLAB-like environment) — you do not need to compile anything, just plug and play! To enhance MATLAB-version compatibility, only basic MATLAB commands have been used. The code has been developed and tested under Matlab 2012 to 2015 and Octave 3.4 (newer Octave versions are not supported yet!).
Starting from version 9.4.1, USPEX has an installer (install.sh file) and a Python-based runner of MATLAB code (USPEX Python module), providing a number of useful command line options.