4. Calculation
The kite.Calculation
object carries the information about the to be calculated quantities,
the target functions.
For this, parameters related to the Chebyshev expansion are included here.
The parameters are used by KITEx to determine the coefficients that are used by KITEtools
to calculate the required target functions.
The parameters given in the Examples already have optimized parameters for a standard desktop computer.
The target function currently available are:

dos
 Calculates the global density of states (DOS) as a function of energy.

ldos
 Calculate the local density of states (LDOS) as a function of energy (for a set of lattice positions).

arpes
 Calculate the ARPES response.

gaussian_wave_packet
 Calculate the propagation of a gaussian wavepacket.

conductivity_dc
 Calculates a given component of the DC conductivity tensor.

conductivity_optical
 Calculates a given component of the linear optical conductivity tensor as a function of frequency for a given Fermi energy.

conductivity_optical_nonlinear
 Calculates a given component of the 2ndorder nonlinear optical conductivity tensor.

singleshot_conductivity_dc
 Calculates the longitudinal DC conductivity for a set of Fermi energies (uses the \(\propto\mathcal{O}(N)\) singleshot method).
KITE previous release worked in two dimensions. However, since then, there has been an efford to expand the calculations for three dimensional systems. In this new release, many of them are implemented in 3D as well. For details, check the table below:
Method  2D  3D 

DOS 

LDOS 

ARPES 

conductivity_dc 

singleshot_conductivity_dc 

optical conductivity 

conductivity_optical_nonlinear 

gaussian_wave_packet 

external magnetic field 
 Extensivelly used and checked
 Implemented
 Not implemented
Warning
Processing the output of singleshot_conductivity_dc
singleshot_conductivity_dc()
works different from the other targetfunctions in that a single run with KITEx is sufficient. The results don't have to be processed by KITEtools.
As such, the results are already available in the HDF5file. You can extract the results from the HDF5 file as explained in the tutorial, with "output.h5"
the name of the HDF5 file processed by KITEx:
All target functions require the following parameters:

num_moments
 defines the number of moments of the Chebyshev expansion and hence the energy resolution of the calculation; see Documentation.

num_random
 Defines the number of random vectors for the stochastic evaluation of traces.

num_disorder
 Defines the number of disorder realisations (and boundary twists if the
"random"
boundary mode is chosen).
Some parameters are specific of the target function:

direction
 Specifies the component of the linear (longitudinal:
'xx'
,'yy'
(,'zz'
), transversal:'xy'
,'yx'
(,'xz'
,'yz'
)) or the nonlinear conductivity tensor (e.g.,'xyx'
or'xxz'
) to be calculated.

temperature
 Temperature of the FermiDirac distribution used to evaluate optical and DC conductivities.
temperature
specifies the quantity \(k_B T\), which has units ofenergy
. If the hoppings are given in eV,temperature
is given in eV . To convert to Kelvin, it is necessary to divide the value by the Boltzmann's constant \(k_B\).

num_points
 Number of energy points used by the postprocessing tool to output the density of states.

special
 Simplified form of nonlinear optical conductivity hBN example.

energy
 Selected values of Fermi energy at which we want to calculate the
singleshot_conductivity_dc
.

eta
 Imaginary term in the denominator of the Green's function that provides a controlled broadening or inelastic energy scale. For technical details, see Documentation.
The calculation
is structured in the following way:
Note
The user can decide what functions are used in a calculation. However, it is not possible to configure the same function twice in the same Python script (HDF5 file).
When these objects are defined, we can export the file that will contain set of input instructions for KITEx
using the kite.config_system
function: function:
Running a Calculation¶
To run the code and to postprocess it, run from the kite/
directory
KITEtools output
The output of KITEtools is dependent of the target function.
Each spicific case is described in the API.
The output is generally a "*.dat"
file where the various columns of data contain
the required target functions.
Visualizing the Output Data¶
After calculating the quantity of interest and postprocessing the data, we can plot the resulting data with the following script:
If you want to make these steps more automatic, you can use the following Bash script: