Skip to main content

Python code for generation of crystal structures based on symmetry constraints.

Project description

PyXtal

Documentation Status Test Status Download Status Download Status Downloads DOI Gitter

Table of content

Introduction

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?.

Quick Start

Current 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.
  • 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 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

Installation

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")

Citation

General PyXtal

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",
}

Symmetry relation

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",

Organic crystal packing motif

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",
}

How to contribute?

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.

  • Star on GitHub the PyXtal project and recommend it to your colleagues/friends
  • Open an GitHub issues to report the bug or address your wishlist or improve our documentation
  • GitHub forks the repository and send us the pull request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyxtal-1.0.5.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

pyxtal-1.0.5-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

File details

Details for the file pyxtal-1.0.5.tar.gz.

File metadata

  • Download URL: pyxtal-1.0.5.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for pyxtal-1.0.5.tar.gz
Algorithm Hash digest
SHA256 81bf7a0a6a7721b24c525e082cbd88c47bcf9a890b4cb025d7353fa8d637c2c2
MD5 3c261e68af751e01438f67ee3c98da04
BLAKE2b-256 9f29585704d61b78ac205ccced0849ff5e9cee07779d2af7b110e2d9a78df211

See more details on using hashes here.

File details

Details for the file pyxtal-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: pyxtal-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for pyxtal-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bd105a4c16e999dd872f512be4bcbc4ad6c9e900c346bd83cf0a47e6dd082627
MD5 cce4c654af1d4484503df001e599335a
BLAKE2b-256 b6bfa7acfa10d9e3c526058671632dd0c10955155b988700f25824cd3cc7d8a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page