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
$ reentry scan -r aiida
# setupt aiida if this was not done already:
$ verdi quicksetup
$ verdi calculation plugins
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 testsdocs
which installs Sphinx
to build the documentationdevtools
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)