Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aegx_v3_0.tar.gz(15910 Kbytes)
Manuscript Title: XtalOpt Version r9: An Open-Source Evolutionary Algorithm for Crystal Structure Prediction
Authors: Zackary Falls, David C. Lonie, Patrick Avery, Andrew Shamp, Eva Zurek
Program title: XtalOpt
Catalogue identifier: AEGX_v3_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 199(2016)178
Programming language: C++.
Computer: PCs, workstations, or clusters.
Operating system: Linux, MS Windows, Mac OS X.
Keywords: Structure Prediction, Evolutionary Algorithm, Genetic Algorithm, Crystal Structures.
PACS: 61.50.Ah.
Classification: 7.7.

External routines: Qt [2], Open Babel [3], Avogadro [4], libssh [5] and one of: VASP [6], PWSCF [7], GULP [8], CASTEP [9], SIESTA [10] MOPAC [11], ADF [12], GAMESS [13], Gaussian [14], spglib [15]

Does the new version supersede the previous version?: Yes

Nature of problem:
Predicting the crystal structure of a system from its stoichiometry alone remains a grand challenge in computational materials science, chemistry, and physics.

Solution method:
Evolutionary algorithms (EAs) are stochastic search techniques that use concepts from biological evolution to search for the global minimum (or a good approximation for it) in a multidimensional problem. Applied to a priori crystal structure prediction, EAs search to find atomic arrangements that correspond to stable (low energy or enthalpy) regions of the chemical structure's potential energy landscape. The XtalOpt evolutionary algorithm is available for use and collaboration under the GNU Public License, which is an open-source license that is officially recognized by the Open Source Initiative [16]. See the publication on XtalOpt's original implementation [17] and previous version announcement [18] for more information on the method.

Reasons for new version:
Since the release of XtalOpt version r7 in May 2011 various bug-fixes have been made, along with the addition of several new features:
  • Added support for the LSF and LoadLeveler queuing systems.
  • Added support for the SIESTA program package [10].
  • Incorporated the XtalComp [19] library for duplicate structure removal (niching).
  • Added the "mitosis" function, which increases the local order of structures in the initial generation by replicating a unit cell to create a supercell for constructing the starting structure.
  • Customizable polling interval for updating remote queue information.
  • Automatic removal of remote working files (optional).
  • Optional removal of unnecessary files for VASP calculations.
  • Option to rank all current structures and export structures to a new subdirectory as .cml, CONTCAR, or .got.
  • New option to replace a failing structure with a new offspring.
  • Ability to "inject" (seed) a structure mid-run.
  • Minimum atomic separation now specified as a fraction of the sum of atomic radii, with a hard minimum.
  • Set a final number of structures to be generated before termination of the search.
  • Changing the minimum and maximum cell vectors now directly influences the minimum and maximum volume for the cell.
  • Implemented an extension for an automated stochastic docking program (RandomDock [20]) that supports MOPAC [11], ADF [12], GAMESS [13] and Gaussian [14] as back-end molecular quantum chemistry engines.
  • Submission of remote calculations is throttled to ease DRMS load.
  • More server-friendly method of fetching queue data.
  • Support for GULP shell/core calculations added.
  • Fix compilation against Qt 4.6.3 and 4.8.0.
  • Updated space-group detection library to spglib 1.0.8.
  • Bundled libssh library removed, now an optional dependency.
  • Added option to use command-line ssh/scp interfaces when libssh is unavailable or Kerberos authentication is needed.
  • Numerous misc bug-fixes.

Summary of revisions:
See "Reasons for new versions" above.

Running time:

[1] http://www.gnu.org/licenses/gpl.html
[2] http://qt.nokia.com
[3] http://openbabel.org
[4] http://avogadro.openmolecules.net
[5] http://www.libssh.org
[6] http://cms.mpi.univie.ac.at/vasp
[7] http://www.quantum-espresso.org
[8] https://www.ivec.org/gulp
[9] http://www.castep.org
[10] http://www.icmab.es/siesta
[11] http://www.openmopac.net
[12] http://www.scm.com
[13] http://www.msg.ameslab.gov/gamess
[14] http://gaussian.com
[15] http://spglib.sourceforge.net
[16] http://opensource.org/
[17] D. Lonie, E. Zurek, Comp. Phys. Comm. 182 (2011) 372-387, doi://10.1016/j.cpc.2010.07.048
[18] D. Lonie, E. Zurek, Comp. Phys. Comm. 182 (2011) 2305-2306, doi://10.1016/j.cpc.2011.06.003
[19] D. Lonie, E. Zurek, Comp. Phys. Comm. 183 (2012) 690-697, doi://10.1016/j.cpc.2011.11.007
[20] A. Wach, J. Chen, Z. Falls, D. Lonie, E. Mojica, D. Aga, J. Autschbach, E. Zurek, Anal. Chem. 85 (2013) 8577-8584, doi://10.1021/ac402004z