Skip to main content

No project description provided

Project description

logo

license DL release PyPI_version Python_version workflows fork stars

SHRY (Suite for High-throughput generation of models with atomic substitutions implemented by python) is a tool for generating unique ordered structures corresponding to a given disordered structure.

How to cite

Please cite the following paper:

SHRY: Application of Canonical Augmentation to the Atomic Substitution Problem, G.I. Prayogo*, A. Tirelli, K. Utimula, K. Hongo, R. Maezono, and K. Nakano*, J. Chem. Inf. Model., 62, 2909-2915 (2022), DOI:10.1021/acs.jcim.2c00389

Installation

SHRY can be obtained from PyPI

pip install shry

For Windows Users

For Windows users, if you don’t have Python already, you can try, for example, installing Python from the Microsoft store following instructions on this page.

Then install SHRY just like above within PowerShell or your favourite terminal.

pip install shry

Development

If you prefer to install from source, instead follow the procedures below.

git clone https://github.com/giprayogo/SHRY.git
cd SHRY
pip install -e .

Quick use

Preparation of an input file (a CIF file)

You can prepare a CIF file with partial occupations.

# label element x y z occupation
Sm1 Sm 0.000 0.00 0.00 1.000
Fe1 Fe 0.250 0.25 0.25 0.400
Nb1 Nb 0.250 0.25 0.25 0.600
Fe2 Fe 0.278 0.50 0.00 1.000

SHRY will automatically stop if the total occupancy of a site is either less or more than 1.0. To simulate vacancies, create a pseudo atom with species X.

Check total symmetry-inequivalent structures

You can readily check the number of total symmetry-inquivalent structures using the following command.

shry --count-only STRUCTURE_CIF

This operation is based on Polya enumeration and takes much less time than a proper generation.

Creating supercell

Sometimes a supercell is required to fit in finer concentrations. SHRY accepts either 3-digit (diagonal) or 9-digit (non-diagonal) format to specify the supercell’s scaling matrix. For example a 2x2x1 supercell can be specified by either

shry -s 2 2 1 --count-only STRUCTURE_CIF

or

shry -s 2 0 0 0 2 0 0 0 1 --count-only STRUCTURE_CIF

Generating unique structures

Finally, you can generate symmetry-inequivalent structures using the following command:

shry -s 2 2 1 STRUCTURE_CIF

The generated symmetry-inequivalent structures are saved in sliceXX directories.

Additional information

For additional information, you can use the help command:

shry -h

or you can refer to the documentation.

Documentation

The documentation is available here.

How to release

Work on the devel or on a new branch

git merge <new branch> devel # if you work on a new branch.
git push origin devel # A GitHub Action triggers pytests.

Check the next-version version

# Confirm the version number via `setuptools-scm`
python -m setuptools_scm
e.g., 1.1.4.dev28+gceef293.d20221123 -> <next-version> = v1.1.4 or v1.1.4-alpha(for pre-release)

Add and push with the new tag

# Push with tag
git tag <next-version>  # e.g., git tag v1.1.4  # Do not forget "v" before the version number!
git push origin devel --tags  # or to the new branch

Send a pull request to the master branch on GitHub. After the pull request is approved and the devel branch is merged to the master, a GitHub Action checks if the automatic deploy works using test-pyPI (if the commit is tagged correctly, e.g., v1.1.0).

Finally, do a new release with a release note on GitHub. The new release trigggers an implemented GitHub Action that automatically uploads the package to PyPI (if the commit is tagged correctly, e.g., v1.1.0).

Contributing to the project

If you want to contribute to the project, report a bug, or ask for a new feature, please raise an issue.

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

SHRY-1.1.7.tar.gz (83.0 MB view details)

Uploaded Source

Built Distribution

SHRY-1.1.7-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

Details for the file SHRY-1.1.7.tar.gz.

File metadata

  • Download URL: SHRY-1.1.7.tar.gz
  • Upload date:
  • Size: 83.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for SHRY-1.1.7.tar.gz
Algorithm Hash digest
SHA256 4bb968cc4b339684ec5ef1e697412fe5ec7916e8f18516f422696b7ed7a6611d
MD5 1ced066fbb675b277dfb8b84f6e3389e
BLAKE2b-256 3a847e5513ab483cbe415e27cf758b5fb3b6802994ee0b1343682a5d78192b72

See more details on using hashes here.

File details

Details for the file SHRY-1.1.7-py3-none-any.whl.

File metadata

  • Download URL: SHRY-1.1.7-py3-none-any.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for SHRY-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 722eb89711fb24ae201dac03145ae14adadeb45c3afb8954d4055d8c630e53b3
MD5 ca048866683c089c92180297091a9164
BLAKE2b-256 72da98e0b147f0ac21ede826f4f0e7f29410aaddb028ac816e60cc72b23c652f

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