Skip to content

dgehringer/sqsgenerator

Repository files navigation

conda plats downloads Documentation Status

sqsgenerator-logo

📝 docs


sqsgenerator is a Python package, which allows you to generate optimised Special-Quasirandom-Structures (SQS). Therefore the package use Warren-Cowley Short-Range-Order (SRO) parameters to quantify randomness. sqsgenerator can be also used to analyse SRO parameters in existing structures. The core routines are written in C++

Highlights

  • 🔌 Easy integration with popular frameworks such as ase, pymatgen and pyiron
  • ➰ Monte-Carlo and systematic approach to compute optimal atomic configuration
  • 🚀 Carefully hand-crafted low-level C++ routines, for efficient calculation of short-range-order
  • 🔀 OpenMP parallelized by default, with additional support for MPI parallelization
  • 📦 Light dependency footprint
  • 🍼 Intuitive to use
  • 📟 command line interface

Documentation

Appreciation

I would highly, appreciate, if you cite our article in case you use the software in your research. Here is the BibTeX entry. Many thanks in advance 😄

Installation

using conda

The easiest way to install sqsgenerator is to use conda package manager. sqsgenerator is deployed on the conda-forge channel. To install use:

conda install -c conda-forge sqsgenerator
  • The version published on Anaconda Cloud is capable of OpenMP parallelization only
  • ase, pyiron and pymatgen are not required to install sqsgenerator. However, we strongly encourage you to install at least one of them. sqsgenerator uses those packages as backends to export the generated structures

building it yourself

On HPC systems where also MPI support, and optimized binaries are desirable, it's highly recommended to build sqsgenerator yourself. An extensive installation guide can be found in the documentation. The following prerequisites are needed:

  • a C++17 enabled compiler, with OpenMP support
  • Python >= 3.6 *
  • numpy **
  • boost libraries,