5. Tight-binding Schrödinger solver
The tight-binding (TB) model is an atomistic approach to describe the electronic structure of atomic systems. In this model, quantum states and the Hamiltonian operator are expressed in a basis of orbitals centered on the atoms of the system. The TB Hamiltonian captures the energy associated with an electron lying on one of these orbitals, as well as the energy associated with the hopping of an electron between orbitals centered around neighboring atoms.
While the TB model was originally developed to describe the bandstructure of crystals [SK54], it has since been applied to describe the electronic properties of large, non-periodic systems such as quantum dots [LJonssonW+01] and nanoscale transistors [PHLG20]. Thanks to its explicit modeling of all individual atoms of a system, the TB model can capture intrinsically atomistic effects such as the confinement of electrons over a small number of atoms, atomistic disorder arising from random alloying and rough heterointerfaces, and strain fluctuations over nanoscale distances; such effects are difficult to properly capture in continuum models like the effective mass and \(\mathbf{k}\cdot\mathbf{p}\) models. In addition, thanks to its local modeling of electrons, Hamiltonian matrices that arise in the TB model tend to be very sparse compared to those arising in first-principles atomistic models like density functional theory. This allows for efficient numerical modeling of systems with up to millions of atoms, provided that TB model parameters are available.
The Solver
class of the
qtcad.atoms.schrodinger
module implements a TB Schrödinger equation
solver to resolve the electronic structure of quantum dots. It is a flexible
solver which may take into account a variety of relevant effects, such as
spin–orbit coupling, external electric potentials (including those computed
via a finite-element Poisson solver, such as the
nonlinear Poisson solver
and the
quantum-well solver
, thereby
enabling multiscale simulations), and magnetic field effects (including
the Zeeman effect and magnetic orbital effects). The TB basis set used in this
solver can be chosen from three different options with varying degrees of
accuracy and computational cost.
The constructor
method of the
Solver
class takes as input atoms
,
an Atoms
object, which contains the atomic
structure of the system. The
solve
method solves the TB
Schrödinger equation by:
constructing the TB Hamiltonian matrix \(H\) of the system described by
atoms
;performing a partial diagonalization of \(H\) to obtain a few eigenpairs of interest through an efficient, sparse eigensolver.
Here, we describe how the TB Hamiltonian matrix is constructed in QTCAD. In Basis sets, we describe which TB basis sets are available. In Block structure of the Hamiltonian, we describe the structure of the TB Hamiltonian; it may be partitioned into so-called onsite and offsite blocks, which we respectively describe in Onsite blocks and Offsite blocks. In Spin–orbit coupling, we describe how to include spin–orbit coupling in the TB Hamiltonian. In Treatment of surface atoms, we describe an effective boundary condition on the surface atoms of an atomic structure to avoid midgap surface states. In External electric potential and multiscale simulations, we describe how to include external electric potentials in the TB Hamiltonian, which are needed to perform multiscale simulations combining a finite-element Poisson solver with the TB model. Finally, in Magnetic effects, we describe how to include magnetic effects in the TB Hamiltonian, including the Zeeman effect and magnetic orbital effects.
Basis sets
The TB model basis set consists of atomic orbitals centered on the atoms of the system. A basis state may thus be denoted by the ket \(|n,i\rangle\), where \(n\) indexes the atom and \(i\) indexes the type of atomic orbital.
While each atom has, in principle, an infinite number of atomic orbitals, only a finite number of them are considered in the TB model. Generally, only valence orbitals (namely those in the outermost shell of the atom, energetically close to the Fermi energy) are included in the model, as they are sufficient to describe the relevant chemistry and physics of interatomic orbital hybridization. Three sets of atomic orbital types are available in QTCAD:
the \(sp^3\) atomic orbitals set, which consists of an \(s\) orbital, a \(p_x\) orbital, a \(p_y\) orbital, and a \(p_z\) orbital;
the \(sp^3s^{\star}\) atomic orbitals set, which additionally includes an \(s^{\star}\) orbital;
the \(sp^3d^5s^{\star}\) atomic orbitals set, which additionally includes a \(d_{yz}\) orbital, a \(d_{xz}\) orbital, a \(d_{xy}\) orbital, a \(d_{x^2-y^2}\) orbital, and a \(d_{3z^2-r^2}\) orbital.
The orbital labels \(s\), \(p_x\), and so so on, refer to the symmetry of the atomic orbitals under rotations along the relevant coordinate axes, and follow the convention of Ref. [SK54]. We note that the \(s^{\star}\) label refers to an orbital with the same continuous spherical symmetry as the \(s\) orbital, but at a higher energy level.
The \(sp^3\) TB model, which has \(N_O=4\) orbitals per atom, is the lightest computationally, but unfortunately predicts that silicon has a direct bandgap [SK54]. This incorrect prediction can be corrected in the \(sp^3s^{\star}\) TB model, which has \(N_O=5\) orbitals per atom, at minimal additional computational cost [KBB+00, VHD83]. The current state of the art is the \(sp^3d^5s^{\star}\) TB model, which has \(N_O=10\) orbitals per atom, as it most accurately describes the bandstructure (in terms of bandgap, valleys, effective masses, and so on) of semiconductors and how it varies under strain [NRT+09].
When spin–orbit coupling and/or the Zeeman effect are considered, spin states must be added to the basis set, which doubles the number of basis states. In this case, the basis states may thus be denoted by the ket \(|n,i,\sigma\rangle\), where \(\sigma\) indexes the spin state. These spin states are the spin-up and spin-down states along the \(z\) axis, and are respectively denoted by \(\uparrow\) and \(\downarrow\).
Overall, the total number of basis states in the TB model is
where \(N\) is the number of atoms in the system, \(N_O\) is the number of atomic orbitals per atom, and \(N_S\) is the number of spin states per orbital.
Finally, we note that although atomic orbitals on neighboring atoms generally have a non-zero overlap (physically speaking), the TB model assumes an orthonormal basis set, so that
This orthonormality condition is achieved using Löwdin’s method [Lowdin50], which preserves the symmetry of the atomic orbitals.
The TB basis set used to construct the TB Hamiltonian matrix is indirectly set
through the set_tb_params
method
of the Atoms
class; the TB basis set is
automatically set according to the TB model parameter set by the user and
defined in the qtcad.atoms.materials
module.
Block structure of the Hamiltonian
To construct the TB Hamiltonian matrix of an atomic structure, we first need to define the ordering of the TB basis states:
first, the basis states are ordered according to atom index;
second, the basis states for each atom are ordered according to atomic orbital type, with the \(s\) orbital first, followed by the \(p_x\), \(p_y\), and \(p_z\) orbitals, then followed (if applicable) by the \(d_{yz}\), \(d_{xz}\), \(d_{xy}\), \(d_{x^2-y^2}\), and \(d_{3z^2-r^2}\) orbitals, and finally (if applicable) followed by the \(s^{\star}\) orbital;
third, the basis states for each orbital are ordered according to spin (if applicable), with the \(\uparrow\) spin first and \(\downarrow\) spin second.
In this ordering, the TB Hamiltonian matrix \(H\) is an \(\left(N N_O N_S\right) \times \left(N N_O N_S\right)\) matrix which may be partitioned into \(\left(N_O N_S\right) \times \left(N_O N_S\right)\) blocks:
where \(H_{nn^{\prime}}\), for \(n,n^{\prime}=1,\ldots,N\), are \(\left(N_O N_S\right) \times \left(N_O N_S\right)\) blocks. For \(n=n^{\prime}\), the block \(H_{nn}\) is referred to as an “onsite block”. For \(n\neq n^{\prime}\), the block \(H_{nn^{\prime}}\) is referred to as an “offsite block”.
QTCAD uses a nearest-neighbor TB model, so that the offsite block \(H_{nn^{\prime}}\) is non-zero if and only if the atoms indexed by \(n\) and \(n^{\prime}\) are nearest neighbors. In materials where the atoms are tetrahedrally-bonded (such as silicon, germanium, and silicon–germanium alloys), each atom (excluding surface atoms) has exactly four nearest neighbors, meaning that, for a given atom \(n\), \(H_{nn^{\prime}}\) is non-zero for only four values of \(n^{\prime}\), thereby making the TB Hamiltonian matrix relatively sparse.
Onsite blocks
The onsite block \(H_{nn}\) of the TB Hamiltonian is parametrized in terms
of TB model parameters which only depend on the chemical species of the atom
indexed by \(n\). These parameters are available in the
qtcad.atoms.materials
module, specifically in
OneAtom
objects.
In this section, we assume that \(N_S=1\); the effects of spin–orbit coupling and of the Zeeman effect will be described later.
We also note that only the \(sp^3d^5s^{\star}\) TB model can capture strain effects.
\(sp^3\) model
In the \(sp^3\) TB model, the onsite block is given by:
where \(E_s\) and \(E_p\) are the onsite energies of the \(s\) and \(p\) orbitals of the atom index by \(n\), respectively.
\(sp^3s^{\star}\) model
Similarly, in the \(sp^3s^{\star}\) TB model, the onsite block is given by:
where \(E_{s^{\star}}\) is the onsite energy of the \(s^{\star}\) orbital of the atom indexed by \(n\).
\(sp^3d^5s^{\star}\) model
The onsite block has a more complex structure in the \(sp^3d^5s^{\star}\) TB model, as this model describes strain effects which couple orbitals [NRT+09]. Specifically:
The sub-block \(H_{ss}\) is given by:
where \(\alpha_s\) is a parameter that describes the dependence of the \(s\) orbital energy on hydrostatic strain and \(\frac{\Delta \Omega}{\Omega_0}\) is the relative change in unit cell volume around the atom indexed by \(n\), which, in this model, is approximated as:
Here, the sum runs over the nearest neighbors of the atom, \(d_{nn^{\prime}}\) is the distance between the atoms indexed by \(n\) and \(n^{\prime}\), and \(d_0\) is the equilibrium distance between the atoms indexed by \(n\) and \(n^{\prime}\).
The sub-block \(H_{pp}\) is given by:
where \(\alpha_p\) is a parameter that describes the dependence of the \(p\) orbitals energies on hydrostatic strain and where \(I_3\) is the identity matrix. The variables \(l\), \(m\), and \(n\) are defined through:
Note that their dependence on \(n\) and \(n^{\prime}\) is implicit, for notational simplicity. In addition,
captures uniaxial and biaxial strain effects.
Similar expressions hold for the other sub-blocks of \(H_{nn}\); their exact forms are detailed in Ref. [NRT+09].
Offsite blocks
The offsite block \(H_{nn^{\prime}}\) of the TB Hamiltonian is parametrized
in terms of TB model parameters which only depend on the chemical species of
the atoms indexed by \(n\) and \(n^{\prime}\). These parameters are
available in the qtcad.atoms.materials
module, specifically in
TwoAtoms
objects.
As in the previous section, we assume that \(N_S=1\).
Bond integrals and Slater–Koster rules
At the most basic level, the offsite block \(H_{nn^{\prime}}\) is parametrized in terms of bond integrals, which are labeled by \(V_{ii^{\prime}\zeta}\), where \(i\) labels an orbital on atom \(n\), \(i^{\prime}\) labels an orbital on atom \(n^{\prime}\), and \(\zeta\) labels the symmetry of the bond; \(\zeta\) can be either \(\sigma\), \(\pi\), or \(\delta\).
From there, the elements of the offsite block are given by the Slater–Koster rules, which harness the symmetry of the atomic orbitals to express the matrix elements in terms of the bond integrals and the bond direction parameters \(l\), \(m\), and \(n\). The Slater–Koster rules are too numerous to be exhaustively listed here; interested reader may consult Ref. [SK54] for a complete list. For illustration purposes, they include the following:
Harrison exponents
In the \(sp^3d^5s^{\star}\) model, these equations are modified to include a bond-length dependence, so as to capture the decay of the overlap between atomic orbitals on neighboring atoms as a function of the distance that separates them. Specifically, the bond integrals acquire a bond-length dependence:
where \(\eta_{ii^{\prime}}\) is a so-called Harrison exponent [FH79].
We note that the Harrison exponents are only available for the \(sp^3d^5s^{\star}\) model.
Spin–orbit coupling
To account for spin–orbit coupling in the TB Hamiltonian, the first step is to extend the TB basis states to include a spin component. According to the ordering of basis states described in Block structure of the Hamiltonian, this can be achieved by taking the Kronecker product of the spin-less TB Hamiltonian with the \(2\times 2\) identity matrix \(I_2\). For illustration purposes, this operation results in the following generalization of Eq. (5.13) for the onsite block in the \(sp^3s^{\star}\) model:
The second step is to include the spin–orbit coupling term in the TB Hamiltonian. In QTCAD, spin–orbit coupling only affects the onsite blocks of the TB Hamiltonian, specifically the diagonal sub-blocks associated with the \(p\) orbitals. The matrix describing spin–orbit coupling is modeled via a single parameter \(\lambda\) and is given by:
where \(\mathbf{L}\) is the vector of orbital angular momentum operators for \(p\) orbitals and \(\mathbf{S}\) is the vector of spin operators.
To construct the TB Hamiltonian, \(H_{\mathrm{SOC}}\) is then simply added to the onsite diagonal sub-blocks associated with the \(p\) orbitals. For example, in the \(sp^3s^{\star}\) model, the onsite block is then given by:
We note that spin–orbit coupling is only available for the \(sp^3s^{\star}\) and \(sp^3d^5s^{\star}\) models.
Enabling spin–orbit coupling may be done via the
set_soc
method of the
Atoms
class.
Treatment of surface atoms
The method to construct the TB Hamiltonian described so far does not differentiate between bulk atoms, which are tetrahedrally-bonded to their four nearest neighbors, and surface atoms, which are bonded to fewer than four atoms. This is problematic, as surface atoms have dangling bonds, which, without proper treatment, result in midgap, surface states [HTJ+16].
There exists two common approaches to treat surface atoms in the TB model:
by hydrogen passivation, which consists in saturating the dangling bonds of surface atoms with hydrogen atoms;
by raising the dangling bond energies so that no surface states is present in the bandgap.
Hydrogen passivation suffers from three major drawbacks:
it requires additional TB parameters, such as onsite energies for hydrogen atoms and bond integrals between hydrogen atoms and the other atoms;
it increases the size of the TB Hamiltonian matrix;
in certain cases, it can lead to incorrect predictions; for example, it has been shown to lead to an overestimation of the performance of nanoscale transistors [HTJ+16].
As such, QTCAD only supports the second approach, which is described in Ref. [LOVAK04]. Succinctly, this approach only affects the onsite blocks of the TB Hamiltonian matrix and involves the following steps:
detect surface atoms;
if the atom has two (three) nearest neighbors, construct a set of four \(sp^3\) hybridized orbitals, two (three) of which are aligned with the physical bonds, and two (one) of which is determined by the tetrahedral bonding symmetry;
this results in a basis set of \(sp^3\) hybridized orbitals, \(\left\{|sp^3_a\rangle, |sp^3_b\rangle, |sp^3_c\rangle, |sp^3_d\rangle\right\}\);
raise the energy of these hyrbidized orbitals by constructing the matrix \(\delta_{sp^3} I_4\), where \(\delta_{sp^3}\) is a parameter that describes the dangling bond energy shift and \(I_4\) is the \(4\times 4\) identity matrix;
transform this matrix into the original orbital basis \(\left\{|s\rangle, |p_x\rangle, |p_y\rangle, |p_z\rangle\right\}\);
add the resulting matrix to the diagonal sub-block associated with the \(sp^3\) orbitals of the appropriate onsite block of the TB Hamiltonian matrix.
In general, setting \(\delta_{sp^3}\) to a value larger than
\(5~\mathrm{eV}\) is sufficient to eliminate all midgap, surface states; it
may be set through the energy_shift_db
attribute of the
SolverParams
class for the TB
Schrödinger Solver
.
External electric potential and multiscale simulations
To model realistic quantum dot devices, it is necessary to include the effect of an external electric potential in the TB Hamilonian. Such an external potential may arise from the presence of a gate voltage, and may lead to confinement of the wavefunction in the quantum dot.
In QTCAD, the external electric potential \(\varphi\left(\mathbf{r}\right)\) may be set in two ways:
from a user-specified function, which is passed to the
set_potential
method of theAtoms
object;from the results of a finite-element Poisson solver, which is done by passing an appropriate
Device
object to theset_potential_from_device
method of theAtoms
object.
The following diagonal matrix is then added to the TB Hamiltonian matrix:
where \(e\) is the elementary charge, \(\mathbf{r}_i\) is the position of the atom indexed by \(i\), and \(I_{N_O N_S}\) is the \(\left(N_O N_S\right) \times \left(N_O N_S\right)\) identity matrix. The computation of \(\varphi\left(\mathbf{r}_i\right)\) is done either via direct evaluation of the user-specified function or via interpolation of the finite-element Poisson solver solution. In the latter case, the simulation may be considered to be a multiscale simulations, since it would combine the finite-element method to resolve the electrostatics of the device on micrometer lengthscales with the TB method to resolve the quantum electronic structure of the device on atomic lengthscales.
We note that unlike the finite-element Schrödinger solver, the TB Schrödinger solver does not explicitly model holes. Only electrons are considered in the TB model. Holes may be indirectly modeled by studying electrons near the top of the valence band.
In addition, we stress that the external potential \(\varphi\left(\mathbf{r}\right)\) in Eq. (5.26) is the electric potential, not the confinement potential. In particular, it does not include any band offset; such phenomena are indirectly captured through the orbital onsite energies (\(E_s\), \(E_p\), and so on) of the TB model.
Finally, we note that care should be taken when setting the external electric potential to ensure that it properly confines charge. When modeling electrons, \(\varphi\left(\mathbf{r}\right)\) should be concave down; when modeling holes, \(\varphi\left(\mathbf{r}\right)\) should be concave up.
Note
The gauge for the electric potential and energy in TB simulations performed
in the qtcad.atoms
module is the default gauge of the
finite-element simulations performed in the qtcad.device
module, and
is described in Band alignment in heterostructures. Specifically, the zero of energy
is the Fermi energy of intrinsic, unstrained, bulk silicon at the device
temperature (if the potential is set through the
set_potential_from_device
method) or at absolute zero (if the potential is set through the
set_potential
method). In
the latter case, the zero of energy is then at the middle of the bandgap
of intrinsic, unstrained, bulk silicon.
Magnetic effects
Magnetic fields are likewise important to consider for the modeling of realistic spin qubits, as these devices are often operated in the presence of an external magnetic field to achieve spin splitting and/or for quantum control.
Magnetic fields affect the TB Hamiltonian in two ways:
they couple to the spin and orbital angular momentum around each atomic site via the Zeeman effect by modifying the onsite blocks of the TB Hamiltonian;
they couple to the orbital degrees of freedom via the minimal coupling Hamiltonian through a Peierls substitution by modifying the offsite blocks of the TB Hamiltonian.
These effects are described in more detail below.
Zeeman effect
The Zeeman Hamiltonian of an electron, which in the context of the TB model leads to an additional contribution to the onsite blocks of the TB Hamiltonian matrix, is given by the following expression:
Here, \(\mu_B = \frac{e\hbar}{2m_e}\) is the Bohr magneton (\(m_e\) is the electron rest mass), \(g_s=2\) is the electron \(g\)-factor for the spin, \(g_l=1\) is the electron \(g\)-factor for the orbital angular momentum, \(\mathbf S\) and \(\mathbf L\) are the spin and orbital angular momentum of the electron, and \(\mathbf B\) is the magnetic field. The electron spin operator can be written using the Pauli matrices:
where the components of the vector of matrices \(\boldsymbol{\sigma}\) are given by:
The orbital angular momentum operator is less trivial to express and depends on the TB basis being used. For example, in the \(sp^3d^5s^{\star}\) TB model, the basis is given by \(\{s, p_x, p_y, p_z, d_{yz}, d_{xz}, d_{xy}, d_{x^2-y^2}, d_{3z^2-r^2}, s^{\star}\}\), where \(s\), \(p\), and \(d\) refer to the total angular momentum around each atomic site and correspond to total angular momentum \(\ell=0, 1, 2\), respectively, and the subscripts refer to the transformation properties of the basis under symmetry operations of the crystal. Since the states with \(\ell=0\) are spherically symmetric and invariant under all symmetry operations, the \(s\) and \(s^{\star}\) orbitals possess no subscript. The TB basis orbitals can be expressed in terms of the eigenstates of the orbital angular momentum matrix \(L_z\) along \(z\) as follows:
where \(Y_{\ell,m}\) is the simultaneous eigenstates of total angular momentum with quantum number \(\ell\) and \(z\)-component of angular momentum with quantum number \(m\), and \(U_{\ell}\) is a unitary basis transformation matrix.
To complete the description of the coupling between the magnetic field and the onsite orbital angular momentum, we also need to specify the orbital angular momentum operators in the \(Y_{\ell,m}\) basis. For \(\ell=0\):
For \(\ell=1\), the orbital angular momentum operator is given by:
For \(\ell=2\), the orbital angular momentum operator is given by:
We now have all the elements to write the orbital angular momentum operator in the \(sp^3d^5s^{\star}\) basis:
where
and \(j\;\in\;\{x,y,z\}\).
A similar procedure can be followed to compute the Zeeman Hamiltonian for the \(sp^3\) and \(sp^3s^{\star}\) TB models.
The Zeeman Hamiltonian obtained via this procedure is then added to all the
onsite blocks of the TB Hamiltonian matrix. The Zeeman effect can be enabled in
a simulation by calling the
set_Zeeman
method of the
Atoms
object. The magnetic field can be set
through the set_Bfield
method.
Magnetic orbital effects—Peierls substitution
In addition to the Zeeman effect, magnetic fields also couple to the orbital degrees of freedom via the minimal coupling Hamiltonian. This is done, effectively, by replacing the momentum operator \(\mathbf p\) in the TB Hamiltonian as follows:
Here, \(\mathbf A\left(\mathbf{r}\right)\) is the vector potential associated with the magnetic field \(\mathbf B\):
Currently, QTCAD only supports uniform magnetic fields, which can be set
through the set_Bfield
method of
the Atoms
object.
For a uniform magnetic field, the vector potential, in the symmetric gauge, is
given by:
Note that physical observables are invariant under the choice of gauge.
In the TB model, Eq. (5.37) is incorporated by modifying the offsite blocks \(H_{nn^{\prime}}\) of the TB Hamiltonian as outlined in Ref. [GV95]:
This modification of the offsite blocks is known as the Peierls substitution
with the multiplicative phase factor known as the Peierls phase.
The Peierls substitution is automatically applied when the magnetic field set
through the set_Bfield
method is
non-zero.