PyXtal (pronounced pie-crystal) is an open source Python library for the ab-initio generation of random crystal structures. It has the following features:

  • Generation of atomic structures for a given symmetry and stoichiometry (0-3D)
  • Generation of molecular crystals (1-3D) with the support of special Wyckoff positions
  • Internal support of cif file and many other formats via pymatgen or ASE
  • Easy access to symmetry information (e.g., Wyckoff, site symmetry and international symbols)
  • X-ray diffraction analysis and its online application
  • Structural manipulation via symmetry relation (both subgroup and supergroup)
  • Geometry optimization from built-in and external optimization methods

The current version is 0.5.5 at GitHub. It is available for use under the MIT license. Expect updates upon request by Qiang Zhu’s group at the University of Nevada Las Vegas.

PyXtal is an open source project. You are welcome to contribute it directly via the GitHub platform or send your comments and suggestions to the developer.

A basic tutorial is provided below for common functions. Additionally, documentation and source code are provided for individual modules.

For an experienced Python user who are familiar with Jupyter notebook, you are also encouraged to check out the following examples

Indices and tables