Skip to content

AiiDA plugin of the high-performance density functional theory code JuKKR (www.judft.de) for high-throughput electronic structure calculations.

License

Notifications You must be signed in to change notification settings

JuDFTteam/aiida-kkr

Repository files navigation

aiida-core Documentation Status Build status codecov MIT license GitHub version PyPI version DOI

aiida-kkr

AiiDA plugin for the Jülich KKR codes plus workflows and utility.

Features

  • KKR calculations for bulk and interfaces
  • treatment of alloys using VCA or CPA
  • self-consistency, DOS and bandstructure calculations
  • extraction of magnetic exchange coupling parameters (J_ij, D_ij)
  • impurity embedding solving the Dyson equation

How to cite

If you use this plugin please cite:

Rüßmann, P., Bertoldo, F. & Blügel, S. The AiiDA-KKR plugin and its application to high-throughput impurity embedding into a topological insulator. npj Comput Mater 7, 13 (2021). https://doi.org/10.1038/s41524-020-00482-5

The ArXiv preprint can be found here:

Philipp Rüßmann, Fabian Bertoldo and Stefan Blügel, The AiiDA-KKR plugin and its application to high-throughput impurity embedding into a topological insulator, arXiv:2003.08315 [cond-mat.mtrl-sci] (2020)

Installation

$ pip install aiida-kkr  # install latest version of aiida-kkr (published on pypi.org)
$ reentry scan -r aiida  # update entry points, needed in order to find kkr.* entrypoints in aiida

# setupt aiida if this was not done already:
$ verdi quicksetup  # better to set up a new profile
$ verdi calculation plugins  # should now show kkr.* entrypoints

To install the developer version download the repository and install the downloaded version (see setup.json for a list of optional packages that are installed with the extras given in [])

$ git clone https://github.com/JuDFTteam/aiida-kkr.git
$ pip install -e aiida-kkr[testing,devtools,docs]
$ reentry scan -r aiida

Remarks about dependencies and extras

  • The aiida-kkr plugin uses the ase and pymatgen packages for structure conversions.
  • For aiida-core>=1.5,<1.6 make sure to use the requirements specified in requirements_aiida-core_1.5.txt (use pip install -r requirements_aiida-core_1.5.txt aiida-kkr for the installation to overwrite the aiida-core dependency).
  • Other extras that can be optionally installed with aiida-kkr are
    • pre-commit which installes the pre-commit hooks that allow style (yapf) and static code checking (pylint)
    • testing which installs pytest and all extension used in the tests
    • docs which installs Sphinx to build the documentation
    • devtools which installs tools that might be helpful during development

Usage and Documentation

Contributing

Thank you for your interest in contributing to aiida-kkr. Check out our contributing guide for some information.

Releasing new versions

To create a new release follow these steps:

  • finish your development and merge it into the develop branch
  • update documentation
  • update / fix tests
  • bump version numbers (in files aiida_kkr/__init__.py, pyproject.toml, .bumpversion.cfg)
  • merge changes from develop back into master and create a tag for the new version number (this triggers publication to pypi)