kdotpy is a Python application for simulating electronic band structures of semiconductor devices with k·p theory on a lattice.
Background
Band structure theory plays a central role in semiconductor physics. Because the constituent atoms often carry a large number of electrons, theories that consider all electronic orbitals are difficult to handle. In most cases, it suffices to take into account only those degrees of freedom needed to capture the essential physics close to the charge neutrality point. The perturbative description known as k·p theory achieves this goal: It has been established as a predictive model for many semiconductor materials.
The Kane model 1 is a flavour of k·p theory applicable to the large class of semiconductor materials with a zincblende crystal structure, for example InSb, GaAs, and HgTe. It contains 8 atomic orbitals as degrees of freedom and it explicitly considers spin-orbit coupling, which is an essential aspect of the electronic behaviour for many of these materials. The Kane model has been used successfully to predict and explain transport and spectroscopic properties of zincblende semiconductors, including the exciting physics of topological insulators 2.
Despite the Kane model being a minimal model, the number of degrees of freedom is still too large for admitting analytic solutions. Thus, numerics are required to extract physics from the model. The numerics are tedious to set up, in particular for simulations of layered structures, where spatial coordinates in one or more dimensions need to be discretized.
kdotpy
provides the infrastructure to aid band structure simulations of
zincblende materials, including such layered devices, by constructing the matrix
Hamiltonian and finding its eigenvalues and eigenvectors (a.k.a.
diagonalization). For the simulations of typical devices (e.g., those
fabricated and measured at the Institute for Topological Insulators and the
Chair of Experimental Physics III in Würzburg), matrix dimensions of about 103 × 103 or even 105 × 105 are
needed, depending on the dimensionality of the simulated structure. Such large
matrices requires sparse methods to be diagonalized. By default, kdotpy
uses
the sparse eigensolver eigsh
from SciPy (which provides
an interface to the ARPACK implementation), but one can also choose different
eigensolvers, including GPU-accelerated ones for increased performance in some
configurations.
kdotpy
uses the eigenvalues and eigenvectors and postprocesses them in order
to provide useful output that can be compared to the experimental results of the
actual devices, most prominently magnetotransport and optical transitions. One
important aspect is the conversion of the energy eigenvalues to carrier
density (what is observed in magnetotransport experiments). kdotpy
provides
graphical output (matplotlib plots), data files in
CSV format, and an XML-based serialized data format for long-term storage.
A brief history
The idea of using computer simulations for describing the electronic properties of semiconductors predates the field of topological insulators. The k·p theory in the form of an 8 × 8 matrix Hamiltonian was proposed by Kane in 19571 for describing the band structure of indium antimonide (InSb). Later models for materials with a similar crystal structure, such as GaAs, CdTe, and HgTe, are essentially just refinements of the Kane model.
The major breakthrough of topological insulators came around 2005, with the successful experimental realization of the quantum spin Hall effect in HgTe quantum wells in the group of Prof. Dr. L. W. Molenkamp at the University of Würzburg 2. The theory of the quantum spin Hall effect, essentially a variation of the quantum Hall effect, but at zero magnetic field, was developed by S.-C. Zhang and colleagues 3, after conversations with Molenkamp who already realized the potential of HgTe with its inverted band structure. The Institute of Topological Insulators (led by Molenkamp) has decades of experience with Molecular Beam Epitaxy (MBE) as a fabrication technique for heterostructures made of HgTe, CdTe, and similar materials, which led to the successful experimental realization of the quantum spin Hall effect in 2006 and many more exciting results since.
The theory of topological insulator physics requires a deep understanding of band structures with k·p theory and mandates numerical simulations. In the early 2000s, the Molenkamp group relied on a Fortran program, developed by A. Pfeuffer-Jeschke4 and E. G. Novik5, capable of simulating quantum wells of HgTe between barriers of (Hg,Cd)Te, exactly the platform where the quantum spin Hall effect was realized. However, 10-15 years later, the developers had long left the group and the program was no longer maintained. The interface is counterintuitive and the model turned out to be not well suited for newer simulations on 3D topological insulators. The very scarce documentation and intransparent structure turned out to be major obstacles towards extending this program for the newly needed simulations.
It was decided that a new band structure program was needed. Around 2017, work
was started on a k·p program for the specific simulation of physics in Mn-doped
HgTe. It was soon realized that this program could be applied much more
generally with relatively little effort (see our
publication list). This program became later known as
kdotpy
. It is designed and maintained with modern standards in research
software development, as to avoid the problems with the previous program. In
view of the wide applicability of the code, we have released kdotpy
publicly
in 2024.
Our philosophy
We believe strongly in the scientific value of reproducibility. This applies to our numerics as well. We publish our code as open source (under the GNU GPLv3 license) so that our peers in the field can reproduce our numerical simulations of our former and future publications.
Already in a very early stage, the output of kdotpy
was designed such that
calculations can easily be reproduced. In particular, the XML files contain
information on the version of the program, the versions of the imported
packages, and the command being used.
The publication of kdotpy
also aims at lowering the threshold for doing k·p
calculations where simplified models must not be used. Unfortunately,
theoretical explanations based on simplified models outside their range of
validity can still be found in the scientific literature. We hope that kdotpy
aids in the proper understanding of the essential physics in the field of
topological insulators.
Literature
-
E. O. Kane, Band structure of indium antimonide, J. Phys. Chem. Solids 1, 249 (1957). ↩︎ ↩︎
-
M. König, S. Wiedmann, C. Brüne, A. Roth, H. Buhmann, L. W. Molenkamp, X.-L. Qi, and S.-C. Zhang, Quantum Spin Hall Insulator State in HgTe Quantum Wells, Science 318, 766 (2007). ↩︎ ↩︎
-
B. A. Bernevig, T. L. Hughes, and S.-C. Zhang, Quantum Spin Hall Effect and Topological Phase Transition in HgTe Quantum Wells, Science 314, 1757 (2006). ↩︎
-
A. Pfeuffer-Jeschke, Bandstruktur und Landau-Niveaus quecksilberhaltiger II-VI-Heterostrukturen, Ph.D. thesis, Würzburg University, Würzburg, Germany (2000) ↩︎
-
E. G. Novik, A. Pfeuffer-Jeschke, T. Jungwirth, V. Latussek, C. R. Becker, G. Landwehr, H. Buhmann, and L. W. Molenkamp, Band structure of semimagnetic Hg1-yMnyTe quantum wells, Phys. Rev. B 72, 035321 (2005). ↩︎