PyXtal: A Python library for crystal structure generation and symmetry analysis

We present PyXtal, a new package based on the Python programming language, used to generate structures with specific symmetry and chemical compositions for both atomic and molecular systems. This software provides support for various systems described by point, rod, layer, and space group symmetries...

Full description

Saved in:
Bibliographic Details
Published inComputer physics communications Vol. 261; p. 107810
Main Authors Fredericks, Scott, Parrish, Kevin, Sayre, Dean, Zhu, Qiang
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.04.2021
Subjects
Online AccessGet full text
ISSN0010-4655
1879-2944
1879-2944
DOI10.1016/j.cpc.2020.107810

Cover

More Information
Summary:We present PyXtal, a new package based on the Python programming language, used to generate structures with specific symmetry and chemical compositions for both atomic and molecular systems. This software provides support for various systems described by point, rod, layer, and space group symmetries. With only the inputs of chemical composition and symmetry group information, PyXtal can automatically find a suitable combination of Wyckoff positions with a step-wise merging scheme. Further, when the molecular geometry is given, PyXtal can generate different dimensional organic crystals with molecules occupying both general and special Wyckoff positions. Optionally, PyXtal also accepts user-defined parameters (e.g., cell parameters, minimum distances and Wyckoff positions). In general, PyXtal serves three purposes: (1) to generate custom structures, (2) to modulate the structure by symmetry relations, (3) to interface the existing structure prediction codes that require the generation of random symmetric structures. In addition, we provide several utilities that facilitate the analysis of structures, including symmetry analysis, geometry optimization, and simulations of powder X-ray diffraction (XRD). Full documentation of PyXtal is available at https://pyxtal.readthedocs.io. Program Title: PyXtal CPC Library link to program files:https://doi.org/10.17632/wfyxyhjzwx.1 Licensing provisions: MIT [1] Programming language: Python 3 Nature of problem: Knowledge of structure at the atomic level is the key to understanding materials’ properties. Typically, the structure of a material can be determined either from experiment (such as X-ray diffraction, spectroscopy, microscopy) or from theory (e.g., enhanced sampling, structure prediction). In many cases, the structure needs to be solved iteratively by generating a number of trial structure models satisfying some constraints (e.g., chemical composition, symmetry, and unit cell parameters). Therefore, it is desirable to have a computational code that is able to generate such trial structures in an automated manner. Solution method: The PyXtal package is able to generate many possible random structures for both atomic and molecular systems with all possible symmetries. To generate the trial structure, the algorithm can either start with picking the symmetry sites randomly from high to low multiplicities, or use sites that are predefined by the user. For molecules, the algorithm can automatically detect the molecules’ symmetry and place them into special Wyckoff positions while satisfying their compatible site symmetry. With the support of symmetry operations for point, rod, layer and space groups, PyXtal is suitable for the computational modeling of systems from zero, one, two, and three dimensional bulk crystals. References: [1] https://opensource.org/licenses/MIT
ISSN:0010-4655
1879-2944
1879-2944
DOI:10.1016/j.cpc.2020.107810