kdotpy logo

kdotpy is a software project for simulating electronic band structures of semiconductor devices with k·p theory on a lattice. The Python application implements the widely used Kane model and is capable of reliable predictions of transport and optical properties. kdotpy can simulate a large variety of topological and non-topological materials with a zincblende crystal structure.

More information about the project and its history can be found on the About page.

The kdotpy source code is available for free from our Gitlab repository.

Learn more about the background and implementation details in our article published in SciPost Physics Codebases.

Features

  • Dispersions in bulk, slab, and strip geometries

  • Lattice discretization capable of simulating edge channels and surface states

  • Landau level fan charts

  • Output in terms of energy as well as carrier density

  • Optical transitions

  • Self-consistent Hartree potentials for simulation of electrostatic gating

Learn more in our Wiki.

Band structure and Landau fan

Installation

You can install kdotpy using PIP, from the Python Package Index (PyPI):

python3 -m pip install kdotpy

Alternatively, you can clone or download the repository files and install from your local kdotpy folder

git clone https://git.physik.uni-wuerzburg.de/kdotpy/kdotpy.git
python3 -m pip install ./kdotpy

More information here: Getting started

Usage

See our tutorials in the Wiki.

About us

kdotpy was developed at the Chair of Experimental Physics III (EP3) and the Institute for Topological Insulators (ITI) at the University of Würzburg, Germany.

The main contributors to development are Wouter Beugeling, Florian Bayer, Christian Berger, and Maximilian Hofer. The work has benefitted from the feedback and input of many others. Learn more about us here.

License

kdotpy is licensed under the GNU General Public License v3. If you download and/or use kdotpy, you must comply with the license conditions spelled out in the LICENSE and LICENSE.additional documents provided with the source code.

If you benefit from our project, please give us credit by citing the article and the codebase:

W. Beugeling, F. Bayer, C. Berger, J. Böttcher, L. Bovkun, C. Fuchs, M. Hofer, S. Shamim, M. Siebert, L.-X. Wang, E. M. Hankiewicz, T. Kießling, H. Buhmann, and L. W. Molenkamp, “kdotpy: k·p theory on a lattice for simulating semiconductor band structures”, SciPost Phys. Codebases 47 (2025)

Please view the citation instructions in CITATION.md provided with the source code and on the abstract page of our publication.

Acknowledgements

We thank the following institutions for support:

Julius-Maximilians-Universität Würzburg

Institute for Topological Insulators

Chair for Experimental Physics III

Deutsche Forschungsgemeinschaft - German Research Foundation

Privacy statement

By using this website you consent to the privacy policy of the University of Würzburg.