sqsgenerator

A command line tool written in Python/C++ for finding optimized SQS structures

https://github.com/dgehringer/sqsgenerator

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    3 of 8 committers (37.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

alloy materials-science mpi openmp python3 random
Last synced: 4 months ago · JSON representation ·

Repository

A command line tool written in Python/C++ for finding optimized SQS structures

Basic Info
Statistics
  • Stars: 50
  • Watchers: 4
  • Forks: 11
  • Open Issues: 2
  • Releases: 7
Topics
alloy materials-science mpi openmp python3 random
Created almost 8 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

conda plats downloads Documentation Status

sqsgenerator-logo

📝 docs


💡 Let me know your ideas

Currently the next version (0.4) of sqsgenerator is 🏗️ under construction. It is intended to be more or less a major rewrite. Hence, if you have some ⭐ feature requests or ⬆️ improvement ideas, feel free to let me know:

Here is a link to the 🗣️ discussion thread


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

  • :electric_plug: Easy integration with popular frameworks such as ase, pymatgen and pyiron
  • :curly_loop: Monte-Carlo and systematic approach to compute optimal atomic configuration
  • :rocket: Carefully hand-crafted low-level C++ routines, for efficient calculation of short-range-order
  • :twistedrightwardsarrows: OpenMP parallelized by default, with additional support for MPI parallelization
  • :package: Light dependency footprint
  • :baby_bottle: Intuitive to use
  • :pager: 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 :smile:

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:

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

Owner

  • Name: Dominik Gehringer
  • Login: dgehringer
  • Kind: user
  • Location: Leoben
  • Company: Montanuniversität Leoben

Citation (citation.bib)

@article{sqsgen,
  doi = {10.1016/j.cpc.2023.108664},
  url = {https://doi.org/10.1016/j.cpc.2023.108664},
  year = {2023},
  month = jan,
  publisher = {Elsevier {BV}},
  pages = {108664},
  author = {Dominik Gehringer and Martin Fri{\'{a}}k and David Holec},
  title = {Models of configurationally-complex alloys made simple},
  journal = {Computer Physics Communications}
}

GitHub Events

Total
  • Create event: 24
  • Release event: 3
  • Issues event: 13
  • Watch event: 7
  • Delete event: 21
  • Issue comment event: 19
  • Push event: 326
  • Pull request event: 30
  • Fork event: 1
Last Year
  • Create event: 24
  • Release event: 3
  • Issues event: 13
  • Watch event: 7
  • Delete event: 21
  • Issue comment event: 19
  • Push event: 326
  • Pull request event: 30
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 596
  • Total Committers: 8
  • Avg Commits per committer: 74.5
  • Development Distribution Score (DDS): 0.443
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Dominik Gehringer d****r@p****m 332
dominik d****r@u****t 224
dgehringer {****} 16
Dominik f****r@h****m 11
dnoeger d****r@s****t 5
Jan Janssen j****n 3
Dominik Nöger 3****r 3
Dominik Gehringer d****r@u****t 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 14
  • Total pull requests: 26
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 9 hours
  • Total issue authors: 9
  • Total pull request authors: 2
  • Average comments per issue: 2.57
  • Average comments per pull request: 0.08
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 2
  • Average time to close issues: about 1 month
  • Average time to close pull requests: less than a minute
  • Issue authors: 4
  • Pull request authors: 1
  • Average comments per issue: 4.75
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • QQQsupermans (4)
  • jan-janssen (3)
  • dgehringer (2)
  • nanoparticals (2)
  • dhoulek (2)
  • realitychemist (1)
  • yuan-gist (1)
  • ndhamrai (1)
  • woshijamess (1)
  • abuanand (1)
  • johwag (1)
  • asaboor-gh (1)
  • khaledb9 (1)
  • jksebst (1)
Pull Request Authors
  • dgehringer (45)
  • jan-janssen (1)
Top Labels
Issue Labels
bug (2) enhancement (2)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 366 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 11
    (may contain duplicates)
  • Total versions: 9
  • Total maintainers: 1
pypi.org: sqsgenerator

Create atomic structures for solid solutions for molecular simulations

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 366 Last month
  • Docker Downloads: 0
Rankings
Dependent packages count: 8.9%
Average: 29.6%
Dependent repos count: 50.3%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: sqsgenerator

This package is a Special Quasirandom Structure generator written in Python3/C++

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 11
Rankings
Dependent repos count: 10.6%
Average: 40.0%
Forks count: 48.7%
Stargazers count: 49.0%
Dependent packages count: 51.5%
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • attrdict *
  • click *
  • frozendict *
  • myst-parser ==0.15.1
  • numpy *
  • pydata-sphinx-theme ==0.7.2
  • pyyaml *
  • rich *
  • sphinx-click ==3.0.1
  • sphinx-copybutton ==0.4.0
  • sphinx-panels ==0.6.0
  • sphinx-togglebutton ==0.2.3
setup.py pypi
  • click *
  • frozendict *
  • numpy *
  • pyyaml *
  • rich >=9.11.0
  • six *