CALYPSO: A method for crystal structure prediction

https://doi.org/10.1016/j.cpc.2012.05.008Get rights and content

Abstract

We have developed a software package CALYPSO (Crystal structure AnaLYsis by Particle Swarm Optimization) to predict the energetically stable/metastable crystal structures of materials at given chemical compositions and external conditions (e.g., pressure). The CALYPSO method is based on several major techniques (e.g. particle-swarm optimization algorithm, symmetry constraints on structural generation, bond characterization matrix on elimination of similar structures, partial random structures per generation on enhancing structural diversity, and penalty function, etc.) for global structural minimization from scratch. All of these techniques have been demonstrated to be critical to the prediction of global stable structure. We have implemented these techniques into the CALYPSO code. Testing of the code on many known and unknown systems shows high efficiency and the highly successful rate of this CALYPSO method [Y. Wang, J. Lv, L. Zhu, Y. Ma, Phys. Rev. B 82 (2010) 094116] [29]. In this paper, we focus on descriptions of the implementation of CALYPSO code and why it works.

Introduction

Understanding the behaviors of materials at the atomic scale is fundamental to modern science and technology. As many properties and phenomena are ultimately controlled by the crystal structures, the prediction of crystal structure is an important task in chemistry and condensed matter physics. However, the structural prediction with the only known information of chemical compositions is extremely difficult as it basically involves in classifying a huge number of energy minima on the lattice energy surface. Owing to the significant progress in both computational power and basic materials theory, it is now possible to predict the crystal structure at zero Kelvin using the quantum mechanical methods. One way to predict structure is by extracting known structures from databases of structures previously found in similar materials [1]. However, this method has a limited success rate and is incapable of generating new crystal structure types. Recently, the more advanced methods including simulated annealing [2], [3], minima hopping [4], basin hopping [5], metadynamics [6], the genetic algorithm [7], [8], [9], [10], [11], [12], [13], [14], and random sampling method [15] have been developed and applied, which allow a systematic search for the ground state structures based on the chemical composition and the external conditions. The simulated annealing, basin hopping, minima hopping and metadynamics focus on overcoming the energy barriers and are successful in many researches [2], [3], [4], [5], [6], particularly, when the starting structure is close to the global minimum. The genetic algorithm starts to use a self-improving method and is thus able to correctly predict many structures [16], [17], [18], [19]. The random sampling method, as a simple and efficient method, is also successful in many applications [20], [21], [22], [23].

The particle swarm optimization (PSO), first proposed by Kennedy and Eberhart [24], [25], is a population-based optimization method. As a stochastic global optimization method, PSO is inspired by the choreography of a bird flock and can be seen as a distributed behavior algorithm that performs multidimensional search. According to PSO, the behavior of each individual is affected by either the best local or the best global individual to help it fly through a hyperspace. Moreover, an individual can learn from its past experiences to adjust its flying speed and direction. Therefore, all the individuals in the swarm can quickly converge to the global position. The PSO algorithm is a highly efficient global optimization method which has been applied successfully to many optimization problems such as network training [26], [27] and transactions on power systems [28]. However, the application of PSO to the structural prediction of condensed matters remains a major challenge. Due to the existence of a large number of energy minima on the lattice energy surface, rapid swarm convergence, as one of the main advantages of PSO, can also be problematic. If an early solution is sub-optimal, the swarm can easily stagnate around it without any pressure to continue further exploration, i.e., being premature. We recently have developed a CALYPSO method/code [29] on crystal structure prediction by implementation of the PSO algorithm and many other important techniques, including symmetry constraints on structural generation, the bond characterization matrix on the elimination of similar structures, partial random structures per generation on enhancing structural diversity, and the penalty function, etc. We found that these latter techniques are critical to avoid the premature nature of the PSO algorithm and to significantly accelerate the structural convergence.

The description of the CALYPSO method and its first applications to the prediction of crystal structures can be found in Ref. [29]. This paper is organized as follows. The detailed descriptions of implementation of CALYPSO code and the principles on illustrating why the method works are presented in Section 2. In Section 3, various parameters in CALYPSO code are optimized for TiO2 as a benchmark. The input and output files are provided in Section 4. A short overview of the applications obtained from our method can be found in Section 5, followed by the conclusion in Section 6.

Section snippets

Implementation and discussions

As depicted in the pseudo-code of Algorithm 1, the CALYPSO method comprises four main steps: (i) generation of random structures with the constraint of symmetry; (ii) local structural optimization; (iii) post-processing for the identification of unique local minima by bond characterization matrix; (iv) generation of new structures by PSO for iterations.

Optimization of parameters

In order to provide a reasonable default setting for various parameters in our CALYPSO code, a test was performed on a TiO2 system with 16 formula units per simulation cell by using the GULP code for the structural optimization and total energy calculations. An earlier study [25] has demonstrated that c1=c2=2 and the linear decrease of ω from 0.9 to 0.4 during the iteration usually give the best overall performance for PSO simulations. Thus, we adopt these parameters and other parameters such

Input file

The main input file named as input.dat, contains all the necessary parameters for the simulation. There are several examples for the input.dat file in the Examples directory of the CALYPSO package.

We here take SiC as an example:

System Name = SiC

Number Of Species = 2

Name Of Atoms = C Si

Number Of Atoms = 1 1

Number Of Formula = 2 2

Atomic Number = 6 14

Max Step = 50

Volume = 20.0

@Distance Of Ion

1.2 1.5

1.5 1.9

@End

PsoRatio = 0.6

Icode = 1

Kgrid = 0.12 0.08

Command = vasp

PopSize = 20

PickUp = F

PickStep = 0

Applications

We have earlier illustrated that the CALYPSO method can be used to predict various structures on elemental, binary and ternary compounds with various chemical bonding environments (e.g., metallic, ionic, and covalent bonding) [29], [40], [41]. Here, we discuss some other applications on the discovery of hitherto unknown structures. All the ab initio structure relaxations were performed using density functional theory within the projector augmented wave method, as implemented in the VASP code 

Conclusions

In this paper, we outline descriptions of the implementation of CALYPSO code, which can be used to predict crystal structures of materials at given chemical compositions and external conditions. Our CALYPSO method has incorporated several major techniques (e.g. the PSO algorithm, symmetry constraints on structural generation, bond characterization matrix on the elimination of similar structures, partial random structures per generation on enhancing structural diversity, and the penalty

Acknowledgment

The authors acknowledge the funding support from the National Natural Science Foundation of China under grant Nos. 11025418 and 91022029.

References (48)

  • C.W. Glass et al.

    Comput. Phys. Commun.

    (2006)
  • D.C. Lonie et al.

    Comput. Phys. Commun.

    (2011)
  • S. Woodley et al.

    Comput. Mater. Sci.

    (2009)
  • G. Kresse et al.

    Comput. Mater. Sci.

    (1996)
  • H. Liu et al.

    Phys. Lett. A

    (2011)
  • H. Liu et al.

    Solid State Commun.

    (2011)
  • J. Feng et al.

    Phys. Rev. Lett.

    (2006)
  • S. Kirkpatrick et al.

    Science

    (1983)
  • J. Pannetier et al.

    Nature

    (1990)
  • M. Amsler et al.

    J. Chem. Phys.

    (2010)
  • J. David et al.

    J. Phys. Chem. A

    (1997)
  • A. Laio et al.

    J. Phys. Chem. B

    (2005)
  • S.M. Woodley et al.

    Phys. Chem. Chem. Phys.

    (2004)
  • N. Abraham et al.

    Phys. Rev. B

    (2006)
  • G. Trimarchi et al.

    Phys. Rev. B

    (2007)
  • Y. Yao et al.

    Phys. Rev. B

    (2008)
  • D. Deaven et al.

    Phys. Rev. Lett.

    (1995)
  • J.A. Niesse et al.

    J. Chem. Phys.

    (1996)
  • C.J. Pickard et al.

    J. Phys.: Condens. Matter

    (2011)
  • Y. Ma et al.

    Nature

    (2009)
  • Y. Ma et al.

    Phys. Rev. Lett.

    (2009)
  • Y. Ma et al.

    Phys. Rev. B

    (2009)
  • Q. Li et al.

    Phys. Rev. Lett.

    (2009)
  • C.J. Pickard et al.

    Phys. Rev. Lett.

    (2006)
  • Cited by (2182)

    View all citing articles on Scopus
    View full text