Skip to main content

k·p theory on a lattice for simulating semiconductor band structures

Project description

kdotpy is a Python application for simulating electronic band structures of semiconductor devices with k·p theory on a lattice.

Installation

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

python3 -m pip install kdotpy

Alternatively, you can download the source and install it from your local copy:

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

For an editable install for active coding and debugging, add the -e option to pip install, like so: python3 -m pip install -e ./kdotpy.

Usage

kdotpy is designed as a standalone application with a command line interface. If you have followed the installation instructions above, you can simply run kdotpy from the command line, followed by the 'sub-programme' label and further arguments. You can do this from any folder.

The first argument is always the sub-programme. The calculation scripts are kdotpy 1d, kdotpy 2d, kdotpy bulk, kdotpy ll, and kdotpy bulk-ll. There are two re-plot scripts, kdotpy merge and kdotpy compare. Batch calculations can be done with kdotpy batch. The scripts kdotpy config, kdotpy help, and kdotpy doc give access to configuration and information. Finally, kdotpy test runs pre-defined tests for checking that kdotpy works correctly.

You can also use python3 -m kdotpy followed by the sub-programme and further arguments.

Example

kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend char out -7nm outdir data-qw localminmax

This and more examples can be found in the Tutorials section of the Wiki: https://git.physik.uni-wuerzburg.de/kdotpy/kdotpy/-/wikis/tutorials/overview

More information

Repository: https://git.physik.uni-wuerzburg.de/kdotpy/kdotpy

Wiki: https://git.physik.uni-wuerzburg.de/kdotpy/kdotpy/-/wikis/home

Website: https://kdotpy.physik.uni-wuerzburg.de

Article: https://doi.org/10.21468/SciPostPhysCodeb.47

Authors

The following people are members of the kdotpy collaboration.

Maintainers and developers:

  • Wouter Beugeling
  • Florian Bayer
  • Christian Berger
  • Maximilian Hofer
  • Julian Kuther

Other contributors:

  • Jan Böttcher
  • Leonid Bovkun
  • Christopher Fuchs
  • Saquib Shamim
  • Moritz Siebert
  • Li-Xian Wang
  • Ewelina M. Hankiewicz
  • Tobias Kießling
  • Hartmut Buhmann
  • Laurens W. Molenkamp

We thank Domenico Di Sante, Giorgio Sangiovanni, Björn Trauzettel, Florian Goth, and Fakher Assaad for feedback and support at various stages of the project.

We acknowledge financial support from the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in the project SFB 1170 ToCoTronics and in the Würzburg-Dresden Cluster of Excellence on Complexity and Topology in Quantum Matter ct.qmat (EXC 2147), and from the Free State of Bavaria for the Institute for Topological Insulators.

Crediting us

If you use kdotpy, we encourage you to credit our work as you would do with any scientific work. Please cite us as follows:

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).

The DOI for this work is 10.21468/SciPostPhysCodeb.47.

We also encourage you to show the kdotpy logo with graphics you present, for example in oral presentations and on posters.

For detailed instructions, please refer to the document CITATION.md in the repository.

Contributing

We encourage interaction (bug reports, suggestions, etc.) via the issue tracker of the repository: https://git.physik.uni-wuerzburg.de/kdotpy/kdotpy/-/issues

We can also be reached by e-mail at kdotpy@uni-wuerzburg.de.

Becoming a contributor

For bug reports, suggestions, and criticisms just let us know via the issue tracker or by e-mail.

We're also looking for enthusiastic people who want to join our Developer Team. If you're interested in joining, please don't hesitate to let us know.

For information on what we expect from contributors, please note the terms stated in CONTRIBUTING.md in the repository.

License

kdotpy is licensed under the GNU General Public License, version 3.

Copyright (C) 2024, 2025 The kdotpy collaboration

kdotpy is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

kdotpy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with kdotpy. If not, see https://www.gnu.org/licenses/.

A copy of the GNU General Public License is included as the file LICENSE in the kdotpy repository. Additional terms under Section 7 of the GNU General Public License, version 3, are stated in the file LICENSE.additional.

Contact

e-mail: kdotpy@uni-wuerzburg.de

website: https://kdotpy.physik.uni-wuerzburg.de

Git repository: https://git.physik.uni-wuerzburg.de/kdotpy/kdotpy

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

kdotpy-1.3.1.tar.gz (682.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kdotpy-1.3.1-py3-none-any.whl (817.8 kB view details)

Uploaded Python 3

File details

Details for the file kdotpy-1.3.1.tar.gz.

File metadata

  • Download URL: kdotpy-1.3.1.tar.gz
  • Upload date:
  • Size: 682.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for kdotpy-1.3.1.tar.gz
Algorithm Hash digest
SHA256 208a212ac6b50eed7af018f641b77a12fb6e4e5b0d23913a1a9b57b0e35aa0f4
MD5 eba5e1171b87621e37698e74274b29c4
BLAKE2b-256 8ef66bd5e7a10fd005b592bc728e1ba046712e68f4216318e0b24d9d703f4ad6

See more details on using hashes here.

File details

Details for the file kdotpy-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: kdotpy-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 817.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for kdotpy-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 05bf453ead9fa97ba4811121f691db7abb0c2107dabb4e09b25d5e5cf00bc559
MD5 4889710328401f00930291c847f85634
BLAKE2b-256 6558fd1f99512bbc4773bfd83babd631ee208660db73655a11faddd881fee48e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page