pyscal is a python module for calculation of local structural environment. Read the complete documentation, check out the github repo or even try out some examples.

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.


  • fast and efficient calculations using C++ and expansion using python.
  • calculation of Steinhardt’s order parameters and their averaged version.
  • links with Voro++ code, for calculation of Steinhardt parameters weighted using face area of Voronoi polyhedra.
  • classification of atoms as solid or liquid.
  • 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 structure.


  1. Menon et al., (2019). pyscal: A python module for structural analysis of atomic environments. Journal of Open Source Software, 4(43), 1824,
Doctoral student

Doctoral student at Ruhr Universit├Ąt Bochum and an aspiring scientific programmer with an interest in Python and C++.