Skip to content

Latest commit

 

History

History
123 lines (80 loc) · 6.33 KB

README.rst

File metadata and controls

123 lines (80 loc) · 6.33 KB

image

image

image

image

image

image

image

pyscal - python Structural Environment Calculator

complete documentation with examples available here.

pyscal is a python module for the calculation of local atomic structural environments including Steinhardt's bond orientational order parameters1 during post-processing of atomistic simulation data. The core functionality of pyscal is written in C++ with python wrappers using pybind11 which allows for fast calculations with possibilities for easy expansion in python.

Steinhardt's order parameters are widely used for identification of crystal structures2. They are also used to identify if an atom is solid or liquid3. pyscal is inspired by BondOrderAnalysis code, but has since incorporated many additions and modifications. pyscal module includes the following functionality-

Highlights

  • fast and efficient calculations using C++ and expansion using python.
  • calculation of Steinhardt's order parameters and their averaged version4.
  • links with Voro++ code, for calculation of Steinhardt parameters weighted using face area of Voronoi polyhedra5.
  • classification of atoms as solid or liquid6.
  • clustering of particles based on a user defined property.
  • methods for calculating radial distribution function, voronoi volume of particles, number of vertices and face area of voronoi polyhedra and coordination number.
  • calculation of angular parameters to identify diamond structure7.

Installation

For python 3

pyscal can be installed directly using Conda from the conda-forge channel by the following statement-

conda install -c conda-forge pyscal

For python 2

Python 2 version of pyscal can be installed using-

conda install -c pyscal pyscal

From repository

pyscal can be built from the repository by-

git clone https://github.com/srmnitc/pyscal.git
cd pyscal
python setup.py install --user

complete documentation with examples available here.

News

  • November 30, 2019 : pyscal reaches over 1500 downloads on conda-forge channel. Thanks for the support!
  • November 21, 2019 : pyscal is selected as the E-CAM module of the month. See the news here.
  • November 3, 2019 : Version 2.1.1 of pyscal is released. This release introduces cell lists to speed up calculations for large number of atoms.
  • November 1, 2019 : pyscal paper is accepted in the Journal of Open Source Software. See the paper here.
  • October 29, 2019 : Version 2.0.1 of pyscal is released.
  • October 17, 2019 : Publication for pyscal submitted to the Journal of Open Source Software. See the review here.
  • October 2, 2019 : Version 2.0.0 of pyscal is released. This version contains significant update to the code, increasing the speed and memory footprint.
  • August 4, 2019 : Version 1.0.3 of pyscal is released.
  • July 12, 2019 : Version 1.0.1 of pyscal is released.
  • July 12, 2019 : Version 1.0.0 of pyscal is released.

Citing the work

If you use pyscal in your work, the citation of the following article will be greatly appreciated:

Sarath Menon, Grisell Díaz Leines and Jutta Rogal (2019). pyscal: A python module for structural analysis of atomic environments. Journal of Open Source Software, 4(43), 1824, https://doi.org/10.21105/joss.01824

Citation in bib format can be downloaded here.


  1. Steinhardt, P. J., Nelson, D. R., & Ronchetti, M. (1983). Physical Review B, 28.

  2. Lechner, W., & Dellago, C. (2008). The Journal of Chemical Physics, 129.

  3. Mickel, W., Kapfer, S. C., Schröder-Turk, G. E., & Mecke, K. (2013). The Journal of Chemical Physics, 138.

  4. Auer, S., & Frenkel, D. (2005). Advances in Polymer Science, 173.

  5. Mickel, W., Kapfer, S. C., Schröder-Turk, G. E., & Mecke, K. (2013). The Journal of Chemical Physics, 138.

  6. Auer, S., & Frenkel, D. (2005). Advances in Polymer Science, 173.

  7. Uttormark, M. J., Thompson, M. O., Clancy, P. (1993). Physical Review B, 47.