The recursive Green’s function algorithm focuses on finding either the diagonal blocks or selected block columns of an inverted block tridiagonal matrix. This method is sometimes called partial inversion since only part of the Green’s function is calculated. For example, in order to calculate the charge density, one needs the
2.6 The recursive Green’s Function algorithm for two-terminal systems first and last columns of the full Green’s function.
The algorithm is divided into three parts. In Fig.2.3, we show schematically the working algorithm for a simple 3×3 example system.
Figure 2.3: Schematic diagram showing the recursive Green’s function method applied to a 3 ×3 two dimensional example system. (a) Forward algorithm using Eqs.(2.28), (2.29), (2.30). (b) The backward algorithm, using Eq.(2.31). (c) The first column of the full Green’s function is calculated using Eq.(2.33). Courtesy of Ref. [110].
(i) The first part is the so called forward algorithm and is demonstrated in Fig.2.3. This part uses the same method outlined above where the effects of the semi-infinite leads are incorporated through the self-energy term into the scattering region. We begin by dividing the system into vertical slices. The first slice, already containing the self-energy of the left lead, is inverted and added to the next slice to the right. This procedure is continued until we reach the last slice. The procedure can be summarized as,
First slice: Gr;L1,1 = (A1,1−ΣL)−1 (2.28) i-th slice: Gr;Li,i =
Ai,i−Ai,i−1Gr;Li−1,iAi−1,i−1
(i= 2, ..., Nx−1)(2.29) last slice: Gr;LNx,Nx =
ANx,Nx −ANx,Nx−1Gr;LNx−1,NxANx−1,Nx −ΣR
−1
(2.30) Since the last slice contains the self-energy of the right lead, the Green’s function of the last slice is exact, that is, GrNx,Nx = Gr;LNx,Nx. Above we applied the algorithm from the left to right and we used the notation L to mark that the above Green’s
function to be a left-connected Green’s functions. The algorithm can also be applied from the right to left, which would produce right-connected Green’s function marked with R. These right connected Green’s function will play a role in the last part of the algorithm.
(ii) The second part is called the backward algorithm and computes the diagonal blocks of the full Green’s function. From the forward algorithm we obtained the last block on the diagonal of the full Green’s function. Using a discrete version of the Dyson equation we can couple it to the left connected Green’s function Gr;LNx−1,Nx−1 of the adjacent slice on the left. This produces diagonal block numberNx−1 of the full Green’s function. We then continue this procedure until we have calculated all the diagonal blocks:
Gri,i =Gr,Li,i +Gr;Li,i Ai,i+1Gri+1,i+1Ai+1,iGr;Li,i , i=Nx−1, ...,1 (2.31) In Fig.2.3(b) we use the backward algorithm on our example system.
(iii) Finally, the third part calculates the off-diagonal blocks. It uses the Dyson equation to couple together the exact diagonal blocks with left or right connected Green’s functions to produce the off-diagonal blocks or above the diagonal line.
Gri−1,j = −Gr;Li−1,i−1Ai−1,iGri,j, 1< i≤j ≤Nx (2.32) Gri+1,j = −Gr;Ri+1,i+1Ai+1,iGri,j, Nx−1≥i≥j ≥1 (2.33) In Fig.2.3(c) we apply Eq.(2.33) to calculate the first column of the Green’s function of our example system.
Using the above technique we calculate the two-terminal conductance for a scat- tering region having the dimension of a 16×16 square lattice (with two semi-infinite leads) in presence of an onsite (potential) disorder as shown in Fig.2.4 for example.
The disorder is assumed from a random rectangular distribution centered at the zero energy. In the absence of disorder, the conductance increases in discrete steps as we increase the Fermi energy for E < 0, and for E > 0, it decreases again in discrete steps showing the quantum nature of the system. That is conductance is only possible when the system offers an energy mode to conduct. As the disorder is introduced, the step-like feature is lost and also the overall magnitude of the conductance decreases with increasing strength of disorder owing to the scattering effects. The behaviour of the normalized conductance is symmetric as a function of the Fermi energy irrespective of the disorder strength. This is shown in Fig.2.4.
Further, the discrete steps in the conductance properties get washed out owing to
2.7 Kwant: a package for computing quantum transport the availability of additional (localized) modes contributed by the random disorder,
-4 -2 0 2 4
E
0
0.2 0.4 0.6 0.8
g
σ = 0.0 σ = 0.1 σ = 0.5 σ = 1.0
Figure 2.4: The normalized two-terminal conductance, g is plotted as a function of the Fermi energy, E for different strengths of disorder, σ. With increasing the disorder strength, the conductance decreases.
2.7 Kwant: a package for computing quantum trans- port
To calculate the transmission probability for complex geometries, and to facilitate efficient calculations, the Kwant package[93] is used. Kwant is a free (open source) Python package for numerical calculations on tight binding models with a strong focus on quantum transport. It is designed to have flexible and easy to use fea- tures. Though Kwant can calculate the transmission coefficients through the RGF technique (described earlier), but it also uses highly efficient and robust algorithms that allow one to significantly outperform the most commonly used recursive Greens function methods. Apart from the transmission coefficients, Kwant can calculate a variety of quantities, for example, band structure of leads, local density of states, local currents and much more.
In our earlier works, we have used the recursive Green’s function algorithm as discussed above. However, since the package, Kwant is easy to implement and computationally highly efficient, for most of our thesis work Kwant package is used.
In the following, we have shown the behaviour of normalized conductance as a function of the Fermi energy for a 16×16 square shaped two terminal scattering device. The result obtained via the numerical code build by us and that from Kwant code are plotted as shown in Fig.2.5.
-4 -2 0 2 4 E
0 0.2 0.4 0.6 0.8 1
g
our code (a)
-4 -2 0 2 4
E 0
0.2 0.4 0.6 0.8 1
g
Kwant code (b)
Figure 2.5: The normalized conductance g is plotted as a function of the Fermi energy E. (a) Generated via our code. (b) Generated from Kwant package. Both the plots are quiet in good agreement.