PyXtal is an open source Python package which was initiated by Qiang Zhu and Scott Fredericks. The goal of PyXtal is to develop a fundamental library to allow one to design the material structure with a certain symmetry constraint. These structures can exported to various structural formats for further study. See the documentation for more information.
To contribute to this project, please check How to contribute?.
- 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.
- Structure manipulation via subgroup/supergroup symmetry relation
- Geometry optimization from built-in and external optimization methods.
- Internal support of
cif
file and many other formats viapymatgen
orASE
. - Easy access to symmetry information (e.g., Wyckoff, site symmetry and international symbols).
- X-ray diffraction analysis and its online application
To install the code, one just needs to do
pip install pyxtal
or
pip install --upgrade git+https://github.com/MaterSim/PyXtal.git@master
If you want to add the Julia package install (required by the use of pyxtal.lego
module), please use
export INSTALL_JULIA=1 && pip install pyxtal
To check if the installation is successful, run the following script,
from juliacall import Main as jl
jl.seval("using CrystalNets")
print("Success")
Fredericks S, Parrish K, Sayre D, Zhu Q*(2020) PyXtal: a Python Library for Crystal Structure Generation and Symmetry Analysis. [arXiv link]
@article{pyxtal,
title = "PyXtal: A Python library for crystal structure generation and symmetry analysis",
journal = "Computer Physics Communications",
volume = "261",
pages = "107810",
year = "2021",
issn = "0010-4655",
doi = "https://doi.org/10.1016/j.cpc.2020.107810",
url = "http://www.sciencedirect.com/science/article/pii/S0010465520304057",
author = "Scott Fredericks and Kevin Parrish and Dean Sayre and Qiang Zhu",
}
Levy D, Panigrahi S-S, Kaba S-O, Zhu Q, Galkin M, Miret S, Ravanbakhsh S. (2024) SymmCD: Symmetry-Preserving Crystal Generation with Diffusion Models AI for Accelerated Materials Design NeurIPS 2024,
@inproceedings{
levy2024symmcd,
title={Symm{CD}: Symmetry-Preserving Crystal Generation with Diffusion Models},
author={Daniel Levy and Siba Smarak Panigrahi and S{\'e}kou-Oumar Kaba and Qiang Zhu and Mikhail Galkin and Santiago Miret and Siamak Ravanbakhsh},
booktitle={AI for Accelerated Materials Design - NeurIPS 2024},
year={2024},
url={https://openreview.net/forum?id=V7x2KZQn2v}
}
Zhu Q, Kang B, Parrish K (2022). Symmetry Relation Database and Its Application to Ferroelectric Materials Discovery
@article{zhu2022symmetry,
title="Symmetry relation database and its application to ferroelectric materials discovery",
author="Zhu, Qiang and Kang, Byungkyun and Parrish, Kevin",
journal="MRS Communications",
volume="12",
number="5",
pages="686--691",
year="2022",
doi="https://doi.org/10.1557/s43579-022-00268-4",
Zhu Q, Tang W-L, Hattori S. (2022). Quantification of Crystal Packing Similarity from Spherical Harmonic Transform
@article{zhu2022quantification,
title="Quantification of Crystal Packing Similarity from Spherical Harmonic Transform",
author="Zhu, Qiang and Tang, Weilun and Hattori, Shinnosuke",
journal="Crystal Growth \& Design",
volume="22",
number="12",
pages="7308--7316",
year="2022",
doi="https://doi.org/10.1021/acs.cgd.2c00933",
}
This is an open-source project. Its growth depends on the community. To contribute to PyXtal, you don't necessarily have to write the code. Any contributions from the following list will be helpful.