Phosphorene
Phosphorene¶
This is a small tutorial to illustrate the use of KITE to investigate materials with anisotropic electrical conductivity. To this end, we consider a simplified tight-binding model for single layer phosphorene 1. Even though this model is very simple, it captures the anisotropic band structure of phosphorene, which is Dirac-like in one direction and Schrödinger-like in the other direction. This behaviour results in highly anisotropic transport properties 2.
Here, we calculate the longitudinal conductivity (singleshot_conductivity_dc
) via the efficient single-shot CPGF algorithm 3 in the vicinity of the band gap.
This is a fast numerical calculation that is set to easily run on a standard laptop, which qualitatively reproduces the expected anisotropic conductivity along xx and yy directions.
Here, we highlight parts of the Python script. The full script can be retrieved from KITE's Github repository.
Lattice¶
After the imports that are necessary for KITE, we define the lattice with Pybinding:
Note that the lattice model given above can be used with different numbers of hoppings. The user can decide the number that is used in the calculation when defining the lattice:
KITEx part¶
Settings¶
To use the large-scale single-shot algorithm for direct evaluation of zero-temperature DC conductivities, the resolvent operator requires a nonzero broadening (resolution) parameter eta
, which is given in the specified units (eV in the example above).
As this type of calculation is energy-dependent, it is also necessary to provide a list of desired energy points to the calculation object.
In the single-shot calculations, the computational time scales linearly with the energy points.
For this example, we consider a small number of points and the energy range is set in the vicinity of the band gap.
The number of points and the list of energy points can be created when calling the calculation, as illustrated here:
Now it is time to save the configuration in a hdf file:
Export the KITE model to an HDF file:
Calculation¶
Run the KITEx program.
Visualization¶
After running KITEx, no post-processing is required for the single-shot conductivity calculation. The result can be extracted and plotted with the following script:
Alternatively, the single-shot post-processing python tool in the tools
directory can be used to produce the data in a more streamlined fashion (see Sec. Post-Processing).

It is not possible to request the same type of calculation (target function) in a single call. In this case, we want to calculate the conductivity in xx and yy directions where the type of the calculation is the same, which means we need another HDF file for yy conductivity.
Let's repeat the procedure for another direction (one may also use the streamlined approach of the example on the KITE repository):
The result of this fast calculation can be seen in Fig. 2 below, for lx=ly=512
.
To gain confidence with using KITE, we suggest modifying parameters like eta
and num_random
.

In Fig. 3, we repeat the calculation for 300 energy points and 10 random vectors with a large energy window.

-
Alexander N. Rudenko, Mikhail I. Katsnelson, Phys. Rev. B 89, 201408 (2014). ↩
-
H. Liu, A. T. Neal, Z. Zhu, X. Xu , D. Tomanek and P. D. Ye, ACS Nano 8, 4033 (2014) ↩
-
A. Ferreira and E. R. Mucciolo, Phys. Rev. Lett. 115, 106601 (2015). ↩